相关疑难解决方法(0)

为什么Object#hashCode()返回int而不是long

为什么不:

public native long hashCode();
Run Code Online (Sandbox Code Playgroud)

代替:

public native int hashCode();
Run Code Online (Sandbox Code Playgroud)

更高的机会获得唯一的哈希码?

java

20
推荐指数
1
解决办法
4525
查看次数

为什么Java中的hashcode不使用long来存储哈希值?

Java用于int result = result * 31 + C计算哈希值.只是好奇为什么选择31.正如Effective Java中所述: 选择值31是因为它是一个奇数素数.如果它是偶数并且乘法溢出,则信息将丢失.因为乘以2相当于移位.

为了溢出,为什么长型不能使用?是关于哈希冲突和内存使用的权衡吗?

java hash

1
推荐指数
1
解决办法
171
查看次数

标签 统计

java ×2

hash ×1