如果在Java中运行以下代码:
它将打印出(null,null,null,null),如果取消注释
public class Testing {
public static void main(String[] args) {
TestObject[] array = new TestObject[4];
//array[0] = new TestObject();
System.out.println(Arrays.asList(array));
}
}
class TestObject {
String aString;
public TestObject() {
aString = "This has been initialized.";
}
}
它将打印出(null,null,null,null),如果取消注释
array [0] = new TestObject(); ,则第一个对象将具有内存地址(而不是null)。 我只是困惑为什么Java在数组首次正确初始化时不会自动调用每个对象的构造函数。 目前它工作的优点是什么? 它是空间问题吗(例如,这样做成本太高)?
也许我只是忽略了一些愚蠢的事情或者我简单地错了。 这与我遇到的问题无关,所以如果这是错误的论坛,我向您道歉。
Array.fill
方法。 - user166390