Java 长度为1的数组上的NullPointerException正在初始化
这是我更新HighsCoreRecords()的方法。: 这是我的Java 长度为1的数组上的NullPointerException正在初始化,java,arrays,Java,Arrays,这是我更新HighsCoreRecords()的方法。: 这是我的GameRecord课程: public class GameRecord { private String name; private int level; private int score; public GameRecord(String name, int level, int score) { this.name = name; this.level = level; this.score
GameRecord
课程:
public class GameRecord {
private String name;
private int level;
private int score;
public GameRecord(String name, int level, int score) {
this.name = name;
this.level = level;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
但这一行有一个nullPointer异常:
gameRecord[0].setName(name);
为什么?
当
highScoreRecords
长度为零时,我想返回一个GameRecord
类型的数组。您从未初始化过第零个元素。首先,您必须在零位置添加元素,然后访问它
gameRecord[0] = new GameRecord();
gameRecord[0].setName(name);
当你写信的时候
gameRecord = new GameRecord[1];
这意味着您只是初始化一个数组来存储2个
GameRecord
元素。没有别的了。最初是null
。您需要初始化每个元素以进一步使用它们。否则它们仍然为空。您从未初始化过第零个元素。首先,您必须在零位置添加元素,然后访问它
gameRecord[0] = new GameRecord();
gameRecord[0].setName(name);
当你写信的时候
gameRecord = new GameRecord[1];
这意味着您只是初始化一个数组来存储2个
GameRecord
元素。没有别的了。最初是null
。您需要初始化每个元素以进一步使用它们。否则它们仍然为空。常见Java新手错误:实例化数组不会实例化元素。常见Java新手错误的可能重复:实例化数组不会实例化元素。可能重复