在Java中为数组对象赋值

时间:2012-05-14 03:00:36

标签: java arrays

我试图像这样为数组对象赋值:

public class Players {
    String Name;
}

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

我收到NullPointerException并且不确定原因。可能导致这种情况的原因是什么?

2 个答案:

答案 0 :(得分:9)

这是因为创建一个新数组不会在数组中创建单个对象;你应该单独创建它们,例如在循环中。

Players[] player = new Players[10];
for (int i = 0 ; i != player.length ; i++) {
    player[i] = new Players();
}

答案 1 :(得分:4)

new Players[10]创建一个包含10个插槽的数组。它没有在插槽中放任何东西。所以数组的所有10个元素都是null

您需要创建对象并将它们粘贴到数组中。例如:

for (int i = 0; i < player.length; i++) {
    player[i] = new Players();
}