本帖最后由 张向辉 于 2013-1-16 12:04 编辑
public boolean equals(Object obj) {
//问题,为什么要先重写hashCode()方法,后重写equals方法,equals这里为什么要比较引用,下面又比较引用的属性,而且这里比较引用后还直接返回,这样下面的属性不叫就不执行了,
//这段重写代码到底想表达什么?
if(this==obj){
return true;
}
if(!(obj instanceof Person)){
return false;
}
//向下转型
Person p = (Person)obj;
return this.name.equals(p.name) && this.age == p.age;
}
|