public static boolean 等于方法

public static boolean Equals Method

我必须objects。 学生和课程(两者都有这个静态等于方法) 我还有我的教授写的 driver,我被告知不要触摸。 我的目标是制作两个学生所修课程的数组列表,以及学生正在修读的当前课程。

我的教授给了我所有的方法,我应该填补身体。

我仔细检查了一下,equals方法完全按照他想要的方式复制了。

这是一道作业题。

我需要填写这个equals方法的body。 我已经尝试过 if(this.id == other.getID()) 之类的东西,但我一直收到此错误: 错误:non-static 无法从静态上下文中引用变量 ID

我曾尝试使用 this.getID() 代替,但无济于事。我认为这可能与静态有关。 (我不允许更改它。)

写这篇文章的正确方法是什么?我不会在下面的代码中包含所有的 getter 和 setter。

public class Student {

private String id;
private String firstName;
private String lastName;
private String major;
private String minor;
private ArrayList<Course> coursesTaken;
private ArrayList<Course> currentSemesterCourses;
private double gpa;

/**
    Course constructor
*/
public Student(String id, String firstName, String lastName, String major, String minor, ArrayList<Course> coursesTaken, ArrayList<Course> currentSemesterCourses) {
/*Your code goes here */
    this.id = id;
    this.firstName = firstName;
    this.lastName = lastName;
    this.major = major;
    this.minor = minor;
    this.coursesTaken = coursesTaken;
    this.currentSemesterCourses = currentSemesterCourses;
}


public static boolean Equals(Object obj) {
//Your code goes here   
//base it on id firstName, lastName, major, minor and gpa
}

I think this probably has something to do with this being static. (I am not allowed to change that.)

那你的作业就没有任何意义,也没有办法解决。

如果您正在编写静态 equals(Object) 方法,那么您 没有 Student 只有一个对象被传入,并且它可以是任何类型。 "Equals" 是一个关于 两件事的问题, 而你甚至没有两件事可以比较,你只有一件事甚至可能不是 Student.

你被要求写的方法就像在问 "Is this object equals?" 它和那句话一样毫无意义。