配列内に配列があり、for each ループで初期化したいと考えています。
// class variable
Tree[][] trees;
// in constructor
this.trees = new Tree[length][with];
// initialize
for (Tree[] tree : this.trees){
for(Tree tree2 : tree){
tree2 = new Tree();
System.out.println(tree2);
}
}
for (Tree[] tree : this.trees) {
for (Tree tree2 : tree) {
System.out.println(tree2);
}
}
何が起こるかというと、最初の println が初期化されたツリーを出力するため、初期化されます。私はすべてが大丈夫だと思った。しかし、これらのツリーを使用しようとすると、nullpointerexception が発生します。そのため、配列を再度ループしようとしたところ、2 番目の println ですべてのツリーに対して null が返されました。どうすればいいの?ここで何が欠けていますか?ありがとうございました!
編集:ああ、申し訳ありません。メインではなく、ループが配置されているコンストラクターメソッドです。