為什么equals 重新之后結(jié)果還是false?
代碼1:
public?void?testListContains(){ ????//Course?course=?(Course)?coursesToSelect.toArray()[1]; ????List?list=new?ArrayList(coursesToSelect); ????Course?course=?(Course)?list.get(0); ????System.out.println("獲取到的學(xué)生ID是:"+course.id+"?獲取到的學(xué)生姓名是:"+course.name); ????System.out.println("集合中是否包含課程"+course.name+":"+coursesToSelect.contains(course)); ????Course?course2=new?Course(course.id,course.name); ????System.out.println("新創(chuàng)建的課程是:"?+course2.id+","+course2.name); ????System.out.println("集合中是否包含課程"+course2.name+":"+coursesToSelect.contains(course2)); ????//System.out.println("一共有?"+coursesToSelect.size()+"?門(mén)課程"); } 代碼2: @Override public?boolean?equals(Object?obj){ ????if(this==obj)?return?true; ????if(obj==null)?return?false; ????if(!(obj?instanceof?Course)){ ????????return?false; ????} ????Course?course=?(Course)?obj; ????if(this.name==null){ ????????if(course.name==null) ????????????return?true; ????????else ????????????return?false; ????}else{ ????????if(this.name.equals(course.name)){ ????????????return?true; ????????}else{ ????????????return?false; ????????} ????} ????//return?true; }