查看: 1993|回复: 0
打印 上一主题 下一主题
收起左侧

[Java基础] 130、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

[复制链接]

566

主题

713

帖子

3827

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3827
楼主
跳转到指定楼层
发表于 2016-9-4 11:59:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
130、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
      对。
     如果对象要保存在HashSetHashMap中,它们的equals相等,那么,它们的hashcode值就必须相等。
     如果不是要保存在HashSetHashMap,则与hashcode没有什么关系了,这时候hashcode不等是可以的,例如arrayList存储的对象就不用实现hashcode,当然,我们没有理由不实现,通常都会去实现的。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 打开微信扫一扫