public boolean equals(Object obj) {// 这里也可以参数类型改为FamilyName
if(obj == null ) {
return false;
}
if(this ==null){
return false;
}
if(this.getClass() != obj.getClass()){ //getclass方法是用来判断对象类型是否相同
return false;
}
FamilyName a = (FamilyName) obj;
return sex.equals(a.sex) && xueli.equals(a.isson) ;
}
/*
* 重写方法hashCode()时,不同数据类型应该区别,
* <span style="BACKGROUND-COLOR: #ff0000">1、基本数据类型(int/double/char/long..so)创建对象之后才能调用
* 2、引用型数据类型可以直接调用,如 color/string等
</span> * <span style="color:#ff6666;">注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,
* 该协定声明相等对象必须具有相等的哈希码。
</span> */
@Override
public int hashCode(){
return 7*<span style="BACKGROUND-COLOR: #ff6666">name.hashCode() </span>+11*<span style="BACKGROUND-COLOR: #ff6666">new Integer(age).hashCode();
</span> }
白菜之hashCode()方法重写及不同数据类型调用hashCode的方法
最新推荐文章于 2021-02-04 17:12:19 发布