本帖最后由 郑齐育 于 2013-10-15 10:13 编辑
在集合视频中讲到为了尽量保证hashCode()返回值的唯一性,复写hashCode()的代码为public int hashCode(){ return name.hashCode()+age*39;
}
这里age*39如何能减少函数返回值相同的可能性?
假设对象一的name.hashCode()返回为a,age为b,第二个对象的name.hashCode()返回为c,age为d,那么我问的问题就是。由a+b=c+d 和a+nb=c+nd有关系。或者说凭什么说a+nb=c+nd的可能性小于a+b=c+d. |