String 的hashCode方法为什么用31作为乘数 总结,主要是以下两点 1、31作为奇质数计算的hash值分布比较均匀不容易产生hash碰撞。 2、31*i 可以被jvm优化成 (i<<5 )-i,运算效率比较高 详情解释请看:https://www.cnblogs.com/nullllun/p/8350178.html