因为重写hashCode() 方法时,你可能要限定比较的方式是按照一定的顺序要求的。
例如: 你比较的是一个Person类,有(String)name,(int)age属性
public int hashCode(){
return this.name.hashCode() + age * 88;
}
通常有可能在程序中new了两个Person:p1,p2;
其中p1的name与p2的name不同,age也不同,
但是,有可能name的hashCode + age就等了,这样就造成p1与p2等了,为了避免这个问题给他随便乘以一个数,让他们的hashCode不可能相等。
希望对你有帮助..... |