将一个类放在另一个类的另一个列表中

时间:2017-02-07 16:25:01

标签: java class arraylist intellij-idea java-8

所以基本上我想把“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);
}

1 个答案:

答案 0 :(得分:2)

您需要初始化gradeBooks。您正在获取空指针,因为当您尝试添加成绩簿时,gradeBooks为null。例如,您可以在Course类的构造函数中初始化它。

public Course() {
    gradeBooks = new ArrayList<>();
}

public void addGradebook(GradeBook gradebook) {
    gradebook.setCourse(this);
    gradeBooks.add(gradebook);
}