Почему Java не инициализирует объекты Array?
Если запустить следующий код в Java:
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.";
}
}
Он напечатает (нуль, ноль, ноль, ноль), и еслиarray[0] = new TestObject();
не комментируется, тогда первый объект будет иметь адрес памяти (и не будет нулевым). Меня просто смущает вопрос, почему Java не будет автоматически вызывать конструктор для каждого объекта в массиве, когда массив сначала правильно инициализируется. Каковы преимущества того, как это работает прямо сейчас? Это космическая проблема (как это было бы слишком дорого, чтобы сделать это)?
Может быть, я просто упустил из виду что-то глупое или я просто ошибаюсь. Это напрямую не связано с проблемой, с которой я сталкиваюсь, поэтому, если это неправильный форум, я прошу прощения.