黑马程序员技术交流社区
标题:
为什么重写hashCode()方法时,给的质数是31,而不是别的?
[打印本页]
作者:
SunCowbee
时间:
2016-9-14 02:14
标题:
为什么重写hashCode()方法时,给的质数是31,而不是别的?
为什么重写hashCode()方法时,给的质数是31,而不是别的?
作者:
荔荔舟
时间:
2016-9-14 02:22
因为31这个数是2的5次方减1,可以直接用位运算移动5位计算,比较方便快捷,而且这个数不大不小,计算也方便。
作者:
15835811325
时间:
2016-9-14 18:41
你也可以给别的 .,,,, , , , 这个别较真 , , , , ,如果你自己重写, , ,, 也是可以用别的数的
作者:
Anand
时间:
2016-9-14 20:12
31原因有三个,一个是不大不小,不大是这样不会超出Int的取值范围,不小又可以使得尽量让运算结果不一致;
第二个原有是好算,也就是沙发说的那个原因;第三是因为质数!
作者:
江月念华
时间:
2016-9-14 20:49
老师说,我们会用就好了,不用钻牛角尖,道行还不够,
作者:
你微笑时很美丶
时间:
2016-9-14 21:10
31原因有三个,一个是不大不小,不大是这样不会超出Int的取值范围,不小又可以使得尽量让运算结果不一致;
第二个原有是好算,也就是沙发说的那个原因;第三是因为质数!
作者:
djfvv
时间:
2016-9-14 21:13
楼上说的都对
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2