欢迎您访问广东某某机械环保科有限公司网站,公司主营某某机械、某某设备、某某模具等产品!
全国咨询热线: 400-123-4567

新闻资讯

哈希游戏| 哈希游戏平台| 哈希游戏APP

HAXIYOUXI-HAXIYOUXIPINGTAI-HAXIYOUXIAPP

哈希游戏- 哈希游戏平台- 官方网站深入理解Java中HashCode方法

作者:小编2025-06-09 16:30:39

  哈希游戏- 哈希游戏平台- 哈希游戏官方网站

哈希游戏- 哈希游戏平台- 哈希游戏官方网站深入理解Java中HashCode方法

  s[i]是string的第i个字符,n是String的长度。那为什么这里用31,而不是其它数呢《Effective Java》是这样说的:之所以选择31,是因为它是个奇素数,如果乘数是偶数,并且乘法溢出的话,信息就会丢失,因为与2相乘等价于移位运算。使用素数的好处并不是很明显,但是习惯上都使用素数来计算散列结果。31有个很好的特性,就是用移位和减法来代替乘法,可以得到更好的性能:31*i==(i5)-i。现在的VM可以自动完成这种优化。