public static boolean Equals Method

Jos*_*osh 0 java static equals object

我必须要反对.学生和课程(两者都有这种静态等于方法)我也有我的教授写的驱动程序,我被告知不要触摸.我的目标是让学生选修两门课程,以及学生正在学习的课程.

我的教授给了我所有的方法,我应该填写尸体.

我仔细检查了,并且完全按照他想要的方式复制了equals方法.

这是一个家庭作业问题.

我需要填写这个equals方法的主体.我尝试了if(this.id == other.getID())之类的东西,但我继续收到此错误:错误:无法从静态上下文引用非静态变量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
}
Run Code Online (Sandbox Code Playgroud)

Lou*_*man 5

我认为这可能与静态有关.(我不允许改变它.)

然后你的任务没有任何意义,也没有办法解决它.

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

你被要求写的方法就像问"这个对象是否等于?" 它与那句话完全没有意义.