其他分享
首页 > 其他分享> > 2021-09-20

2021-09-20

作者:互联网

为什么“Aa”和“BB”的hashCode相等?

String的hashCode的算法:s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
根据上面的算法可以得出“Aa”.hashCode()=65*31^(2-1)+97*31^(1-1)=2112
“BB”.hashCode()=66*32=2112
故hashCode相同equals不一定为true,
但equals为true的对象hashCode也一定相同(代码规范的前提下)
细细品味这个代码规范(手动滑稽)

标签:20,BB,31,09,equals,hashCode,2021,2112,true
来源: https://blog.csdn.net/qq_49983016/article/details/120396921