这更多的是理论问题。我有这段代码:
String[] contacts = new String[10];
for (int x = 0; x < contacts.length; x++)
{
contacts[x] = "Person" + x;
System.out.println(contacts[x]);
}
我知道数组只能有一种类型,但我已将变量 x (它是一个 int)连接到字符串的末尾并将其存储到数组中。 但是,当我尝试执行此基于 int 的数组时,它不喜欢它,这是有道理的,因为您不能在声明为保存 int 变量的数组中混合类型。 我很困惑,因为您也可以在语句末尾添加 boolean 值。
contacts[x] = "Person" + x + false
只要数组以字符串开头,您就可以摆脱它。 这是因为对象本身的字符串吗? 如果这是一个显而易见的问题,我真的很抱歉。我相信这与这个问题有关,但它并没有完全让我满意地回答Multiple type array
最佳答案
您没有向数组中添加多种类型。就像下面的语句一样,字符串后面的任何 +
运算符都会连接下一个变量,就像它被解析为对 toString() 的调用一样。 >.
contacts[x] = "Person" + x + false
所以上面的内容是一样的;
contacts[x] = "Person" + Objects.toString(x) + Objects.toString(false)
请注意,上面的变量 x
和值 false
是自动装箱的。
进一步阅读;
关于java - 我认为你不能在数组中混合类型(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28235400/