两个对象值相同(x.equals(y) == true) 但却可有不同的hash code 这句话对
两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
参考解答
对。
如果对象要保存在HashSet或HashMap中,它们的equals相等,那么,它们的hashcode值就必须相等。
如果不是要保存在HashSet或HashMap,则与hashcode没有什么关系了,这时候hashcode不等是可以的,例如arrayList存储的对象就不用实现hashcode,当然,我们没有理由不实现,通常都会去实现的。
相似问题
java中会存在内存泄漏吗?
java中会存在内存泄漏吗?
List Set Map是否继承自Collection接口?
List, Set, Map是否继承自Collection接口?
SERVLET API中forward() 与redirect()的区别?
SERVLET API中forward() 与redirect()的区别?
字节流与字符流的区别是什么?
字节流与字符流的区别是什么?
什么是java序列化?如何实现java序列化?Serializable接口的作用是什么?
什么是java序列化?如何实现java序列化?Serializable接口的作用是什么?
