请找到代码段。
public static void main(String args[]) {
char[] tmpArray = new char[10];
tmpArray[0] = 'a';
tmpArray[1] = 'b';
tmpArray[3] = 'd';
for (char element : tmpArray) {
System.out.print(element);
}
System.out.println(String.valueOf(tmpArray));
}
我除了显示abd
之外。
但是它没有在forloop中显示任何内容,而且它只在sop中显示"ab"
。
当我尝试调试时,数组仍将第4个元素保存为'd'。如果在第3个元素中给出d,则显示正确。是按合同规格吗?
它基本上使用char的Arrays.copy
创建新的String实例。甚至新的char [](String实例中的value
也包含'd'作为第4个元素)。这种行为是由于在显示时在数组中迭代...
没有真正的用例。我只是试图解决其他问题(与此无关)并得到了这种情况。
提前致谢。
更新
评论描述,他们在最后看到'd'。这就是我除外。但我没有在我的机器上显示。
Ubuntu 12,Jdk 1.8,eclipse kepler。那么它会转移到eclipse控制台吗?
答案 0 :(得分:0)
如果没有明确设置,您假设数组将默认为空格('')字符。相反,它默认为null。见