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

java – 使用System.identityHashCode(obj) – 何时?为什么?

发布时间:2020-12-14 05:02:33 所属栏目:Java 来源:网络整理
导读:什么时候做一个合适的时间来做第4行而不是第3行?还是他们完全重复调用? 1 Object o1 = new Object();2 3 int hcObj = o1.hashCode();4 int hcSys = System.identityHashCode(o1); 解决方法 有时您可能想要创建一组可区分的对象.其中一些对象可能彼此相等,
什么时候做一个合适的时间来做第4行而不是第3行?还是他们完全重复调用?
1  Object o1 = new Object();

2  

3  int hcObj = o1.hashCode();

4  int hcSys = System.identityHashCode(o1);

解决方法

有时您可能想要创建一组可区分的对象.其中一些对象可能彼此相等,但您仍然希望引用所有这些对象,只能抛出真正重复的引用.你可能会这样做,因为equals实现不是你感兴趣的(一些类覆盖等于,当你真的不想要它们)或者因为你实际上只是想计算单独的实例等

要做到这一点(例如某种哈希表的支持),您需要基于身份而不是等于的哈希码,这正是IdentityHashCode为您提供的.它很少有用,但它仍然有时可以方便.

(编辑:李大同)

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

    推荐文章
      热点阅读