乘子专题

有理有据!为什么String选择数字31作为hashCode方法乘子?

点击上方“朱小厮的博客”,选择“设为星标” 回复”1024“获取独家整理的学习资料 来源:http://1t.click/Xkk 1. 背景 某天,我在写代码的时候,无意中点开了 String hashCode 方法。然后大致看了一下 hashCode 的实现,发现并不是很复杂。但是我从源码中发现了一个奇怪的数字,也就是本文的主角31。这个数字居然不是用常量声明的,所以没法从字面意思上推断

科普:String hashCode 方法为什么选择数字 31 作为乘子

点击上方 好好学java ,选择 星标 公众号 重磅资讯、干货,第一时间送达今日推荐:牛人 20000 字的 Spring Cloud 总结,太硬核了~ 作者:田小波来源:https://www.cnblogs.com/nullllun/p/8350178.html 1. 背景 某天,我在写代码的时候,无意中点开了 String hashCode 方法。然后大致看了一下 hashCod

面试官问:为什么String的hashCode选择 31 作为乘子?

点击上方 好好学java ,选择 星标 公众号 重磅资讯、干货,第一时间送达今日推荐:2020年7月程序员工资统计,平均14357元,又跌了,扎心个人原创100W+访问量博客:点击前往,查看更多 某天,我在写代码的时候,无意中点开了 String hashCode 方法。然后大致看了一下 hashCode 的实现,发现并不是很复杂。但是我从源码中发现了一个奇怪的数字,也就是本文的主角31。这个