黑马程序员技术交流社区
标题:
求解!!!
[打印本页]
作者:
唐侠君
时间:
2013-12-24 00:39
标题:
求解!!!
如下是一个重写hasCode()的例子:
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + ((firstName == null) ? 0 : firstName.hashCode());
result = prime * result + ((lastName == null) ? 0 : lastName.hashCode());
return result;
}
想请问一下prime = 31??有什么作用的??为什么要用31,用别的数字代替行吗??求教,谢谢
作者:
776699
时间:
2013-12-24 02:50
为了生成随机数,可以改变,但是不要太大,返回值别超过int 范围就可以
作者:
闫志军
时间:
2013-12-24 16:27
可以用别的数代替,这样做只是为了确保hashcode()返回值的唯一性,使值不会碰巧相同。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2