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.";
}
}
印刷され(null、null、null、null)、array[0] = new TestObject();
コメントがない場合、最初のオブジェクトはメモリアドレスを持ちます(nullではありません)。配列が最初に適切に初期化されたときに、Javaが配列内の各オブジェクトのコンストラクターを自動的に呼び出さない理由について私は混乱しています。それが現在機能する方法の利点は何ですか?それはスペースの問題ですか(そうするにはコストがかかりすぎるため)?
たぶん私は何かばかげたものを見落としたか、単に間違っています。これは私が抱えている問題とは直接関係がないので、間違ったフォーラムである場合はお詫び申し上げます。