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

今天爱分享给大家带来两个对象值相同(x.equals(y) == true),但却可有不同的 hash code,这句话对不对?【面试题详解】,希望能够帮助到大家。
【参考答案】
对。
如果对象要保存在 HashSet 或 HashMap 中,它们的 equals 相等,那么,它们的 hashcode
值就必须相等。
如果不是要保存在 HashSet 或 HashMap,则与 hashcode 没有什么关系了,这时候
hashcode 不等是可以的,例如 arrayList 存储的对象就不用实现 hashcode 方法。

人已赞赏
Java

Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是 equals()?它们有何区别?【面试题详解】

2020-12-2 16:58:03

Java

字节流与字符流的区别?【面试题详解】

2020-12-2 17:00:09

'); })();