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 回答