加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – hashCode()可以动态更改内容吗?

发布时间:2020-12-15 05:06:03 所属栏目:Java 来源:网络整理
导读:在我的实现中,我有一个类A,它覆盖equals(Object)和hashCode().但我有一个小小的疑问,即在向HashSet / HashMap添加A的实例时,hashCode()的值是x,之后相同的hashCode()的值更改为y.它会影响什么吗? 解决方法 将哈希码添加到地图/集后,不得更改哈希码.它可以在
在我的实现中,我有一个类A,它覆盖equals(Object)和hashCode().但我有一个小小的疑问,即在向HashSet / HashMap添加A的实例时,hashCode()的值是x,之后相同的hashCode()的值更改为y.它会影响什么吗?

解决方法

将哈希码添加到地图/集后,不得更改哈希码.它可以在此之前进行更改,但它通常会使类型更容易使用,如果它不会更改.

如果哈希码发生变化,则不会在map / set中找到密钥,因为即使它最终位于同一个存储桶中,也会首先更改哈希码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读