所以基本上我想把“GradeBook”这个包含2个arraylists的类放在另一个类“course”中。我创建了一个setCourse方法来将两个类链接在一起但是当我试图将GradeBook放入“course”类中的“gradebooks”列表中时,会出现NullPointerException。为什么我不把这个班级列入名单。
公共类GradeBook {
private List<Double> assignmentScores;
private List<Double> quizScores;
private Course course;
public GradeBook() {
assignmentScores = new ArrayList<>();
quizScores = new ArrayList<>();
}
public void setCourse(Course course) {
this.course = course;
}
public class Course {
private List<GradeBook> gradeBooks;
public void addGradebook(GradeBook gradebook) {
gradebook.setCourse(this);
gradeBooks.add(gradebook);
}
答案 0 :(得分:2)
您需要初始化gradeBooks
。您正在获取空指针,因为当您尝试添加成绩簿时,gradeBooks为null。例如,您可以在Course
类的构造函数中初始化它。
public Course() {
gradeBooks = new ArrayList<>();
}
public void addGradebook(GradeBook gradebook) {
gradebook.setCourse(this);
gradeBooks.add(gradebook);
}