两个对象值相同(x.equals(y) == true) 但却可有不同的hash code 这句话对

IT互联网 已帮助: 时间:2025-07-11 01:09:44

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

难度:⭐⭐⭐

题库:IT/互联网,软件开发

标签:这句话,但却,可有

参考解答

用户头像

456***144

2025-07-11 01:09:44

对。

如果对象要保存在HashSet或HashMap中,它们的equals相等,那么,它们的hashcode值就必须相等。

如果不是要保存在HashSet或HashMap,则与hashcode没有什么关系了,这时候hashcode不等是可以的,例如arrayList存储的对象就不用实现hashcode,当然,我们没有理由不实现,通常都会去实现的。


上一篇 java中会存在内存泄漏吗?

下一篇 什么时候用assert?

相似问题