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)
我认为这可能与静态有关.(我不允许改变它.)
然后你的任务没有任何意义,也没有办法解决它.
如果您正在编写静态equals(Object)方法,那么您没有Student. 传入的对象只有一个,可以是任何类型."等于"是一个你问两件事的问题,你甚至没有两件事要比较,你只有一件事甚至可能都不是Student.
你被要求写的方法就像问"这个对象是否等于?" 它与那句话完全没有意义.
| 归档时间: |
|
| 查看次数: |
573 次 |
| 最近记录: |