次のような配列オブジェクトに値を割り当てようとしています。
public class Players {
String Name;
}
Players[] player = new Players[10];
String name = Mike;
player[1].Name = name;
NullPointerExceptionが発生しましたが、理由がわかりません。これを引き起こしている可能性がありますか?
これは、新しい配列を作成しても、配列内に個々のオブジェクトが作成されないためです。それらを別々に、たとえばループで作成する必要があります。
Players[] player = new Players[10];
for (int i = 0 ; i != player.length ; i++) {
player[i] = new Players();
}
new Players[10]
10スロットのアレイを作成します。スロットには何も入れません。したがって、配列の10個の要素はすべてnull
。
オブジェクトを作成して配列に貼り付ける必要があります。例えば:
for (int i = 0; i < player.length; i++) {
player[i] = new Players();
}