题目

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

答案


解释

如果两个对象x和y满足x.equals(y) == true,它们的哈希码(hash code)应当相同。
Java对于eqauls方法和hashCode方法是这样规定的:
(1) 如果两个对象相同(equals方法返回true),那么它们的hashCode值一定要相同;
(2) 如果两个对象的hashCode相同,它们并不一定相同

写文章

提问题

面试题