2

次のような配列オブジェクトに値を割り当てようとしています。

public class Players {
    String Name;
}

Players[] player = new Players[10];
String name = Mike;
player[1].Name = name;

NullPointerExceptionが発生しましたが、理由がわかりません。これを引き起こしている可能性がありますか?

4

2 に答える 2

9

これは、新しい配列を作成しても、配列内に個々のオブジェクトが作成されないためです。それらを別々に、たとえばループで作成する必要があります。

Players[] player = new Players[10];
for (int i = 0 ; i != player.length ; i++) {
    player[i] = new Players();
}
于 2012-05-14T03:02:37.540 に答える
4

new Players[10]10スロットのアレイを作成します。スロットには何も入れません。したがって、配列の10個の要素はすべてnull

オブジェクトを作成して配列に貼り付ける必要があります。例えば:

for (int i = 0; i < player.length; i++) {
    player[i] = new Players();
}
于 2012-05-14T03:02:39.477 に答える