为什么重写了equals方法,出来的还是false

来源:6-1 学生选课---判断 List 中课程是否存在

机智的意竹竹

2017-05-03 17:22

public void testListContains(){
Course courses1=coursesToSelect.get(0);
System.out.println("课程信息为"+courses1.id+":"+courses1.name+","+coursesToSelect.contains(courses1));
Course courses2=new Course(courses1.id,courses1.name);
System.out.println("课程信息为"+courses2.id+":"+courses2.name+","+coursesToSelect.contains(courses2));
}


public boolean eaquals(Object obj){
if(this==obj)
return true;
if(obj==null)
return false;
if(!(obj instanceof Course))
return false;
//通过以上3个if判断,obj是一个Course类型且不为空的对象。
Course courses=(Course)obj;
if(this.name==null){
if(courses.name!=null)
return false;
else return true;
}
else
if(this.name.equals(courses.name))
return true;
else return false;
}





写回答 关注

1回答

  • 机智的意竹竹
    2017-05-03 17:43:02

    错误已经找到了,是重写的方法的方法名错了,已经改好了

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题