这是我的代码:
private ArrayList<Integer> gradeList;
public void addGrades(Scanner reader) {
int grade = reader.nextInt();
if (grade != -1) {
this.gradeList.add(grade); // --> NullPointerException
}
}
我不明白为什么我会得到一个NullPointerException
,因为我经常创建这样的方法而没有出现这个问题。我想把它改成这样:
public void addGrades(Scanner reader) {
int grade = Integer.parseInt(reader.nextLine());
while (true) {
if (grade == -1) {
break;
} else {
this.gradeList.add(grade); // --> NullPointerException
}
}
}
会有帮助,但并没有解决问题。在这两种情况下,问题都出在 this.gradeList.add(grade)
行上。我还尝试在循环之前的方法中将 ArrayList 声明为 null,但意识到这是多余的。所以我不确定我做错了什么。
最佳答案
你永远不会实例化数组列表。尝试一下
private ArrayList<Integer> gradeList = new ArrayList<Integer>();
关于java - 创建添加到 ArrayList 的方法时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22610531/