我试图像这样为数组对象赋值:
public class Players {
String Name;
}
Players[] player = new Players[10];
String name = Mike;
player[1].Name = name;
我收到NullPointerException并且不确定原因。可能导致这种情况的原因是什么?
答案 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();
}