测试了一下,用equals和==都能出现相同的结果,老师讲错了么?
public boolean equals(Object obj){ if(this==obj){ System.out.print("你好1"); return true; } if(obj==null){ System.out.print("你好2"); return false; } if(!(obj instanceof subjects)){ System.out.print("你好3"); return false; } subjects subject=(subjects)obj; if(this.name==null){ if(subject.name==null){ System.out.print("你好4"); return true;} else return false; }else{ if(this.name==subject.name){ System.out.print("你好5"); return true;} else return false; }
运行结果:
subjectsToList得到一个课程数据:1 语文 王老师
subjectsToList得到一个课程数据:2 数学 刘老师
subjectsToList得到一个课程数据:3 政治 陈老师
取得课程:政治
你好1备选课程中是否包含课程:政治,true
新创建课程:政治
你好5备选课程中是否包含课程:政治,true
你好5备选课程中是否包含课程:语文,true