gpt4 book ai didi

java - 为什么哈希码不生成唯一的哈希码?

转载 作者:行者123 更新时间:2023-11-29 03:15:47 25 4
gpt4 key购买 nike

我们知道 hashCode() 的默认实现在转换内部地址后返回整数 converting the internal address对象的成一个整数。所以每个对象的内存都是不同的,那么为什么hashCode()不会生成唯一的hashcode。

我的问题是,如果我们不覆盖 hashcode() 和 equals,为什么 hashcode() [它返回整数,它是对象的地址表示] 不生成唯一代码?

最佳答案

因为它不能。

由于只有 2^32 个不同的整数,并且任何 VM 实例中可能有超过 2^32 个 Activity 对象,因此技术上不可能保证每个对象的哈希码都是唯一的。

即使默认哈希码可能基于对象的内部地址,它也与内部地址不同。

关于java - 为什么哈希码不生成唯一的哈希码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26740091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com