为什么Object#hashCode()返回int而不是long
为什么不:
public native long hashCode();
代替:
public native int hashCode();
获得唯一哈希码的更高机会?
回答:
因为数组的最大长度为Integer.MAX_VALUE
。
由于的主要用途hashCode()
是确定将对象插入HashMap
/ 的后备数组中的哪个插槽Hashtable
,因此hashcode>
Integer.MAX_VALUE
将无法存储在该数组中。
以上是 为什么Object#hashCode()返回int而不是long 的全部内容, 来源链接: utcz.com/qa/412113.html