重写的equals函数里面有问题,大神求解!!
为什么传递的是Object类,我们比较的不是一个具体的它的子类嘛。
public boolean equals(Object obj) {
if (this == obj)//这条意思是本身的类也是Object类,且地址相同?
return true;
if (obj == null)
return false;
if (!(obj instanceof Course))//有了这个IF第一条if有啥用呢,只要这一个不就好了,只要他俩不是同一个类型就是False。
return false;
Course other = (Course) obj;//前面不是已经判断了这俩个类型相等,为什么还要强制转换
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}