use*_*421 0 java arraylist nullpointerexception
这是我的代码:
private ArrayList<Integer> gradeList;
public void addGrades(Scanner reader) {
int grade = reader.nextInt();
if (grade != -1) {
this.gradeList.add(grade); // --> NullPointerException
}
}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么我会得到一个NullPointerException,因为我已经制作了这样的方法,经常没有这个问题.我想把它改成这个:
public void addGrades(Scanner reader) {
int grade = Integer.parseInt(reader.nextLine());
while (true) {
if (grade == -1) {
break;
} else {
this.gradeList.add(grade); // --> NullPointerException
}
}
}
Run Code Online (Sandbox Code Playgroud)
会有所帮助,但它没有解决问题.在这两种情况下,问题都在线上this.gradeList.add(grade).我也尝试在循环之前声明ArrayList在方法中为null,但意识到这是多余的.所以我不确定我做错了什么.
你永远不会实现arraylist.尝试
private ArrayList<Integer> gradeList = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)