引用对象创建的实例,记录的是内存地址,与属性是否相同无关,属性相同也会放在不同地址中。
如果去掉重复的值,要重写hashcode和equals方法。
1。先把内存地址统一,产生哈希碰撞,这样就可以集中在一起,比较属性。
public int hashcode(){
return
1; //现在内存地址是:1
}
2。重写equals方法,比较每个属性
public boolean equals(Object obj){
if(!(obj
instanceof
目标类型))
{
return false;
}
else{
目标类型
name=(目标类型)obj;
return
**.equals(***)&&**==***();
}
}