为什么hashcode()返回一个整数但不长?

dgu*_*091 3 java arrays performance hashcode bucket

在java中,hashcode()方法返回整数而不是long.有什么具体原因吗?

Era*_*ran 8

好吧,一个很好的理由是hashCode基于数据结构(HashSet,HashMap)使用数组来存储二进制数,而数组仅限于int索引.long hashCode()如果必须将其映射到int数组索引,则不会获得任何结果.