参考答案和解析
正确答案:

 

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

更多“两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? ”相关问题
  • 第1题:

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


    正确答案:
    答:不对,有相同的hash code。

  • 第2题:

    如果找到两个消息 x 和 x',它们具有相同的Hash值,则是找到了一对 消息


    正确

  • 第3题:

    原则上讲,两个不同的对象所具有的属性值不能相同,但在给定的关系中的元组可以是完全相同。


    错误

  • 第4题:

    如果x和y是String类的引用变量,当x==y为true时,x.equals(y)也为true。


    错误

  • 第5题:

    因为Hash函数碰撞的概率极小,所以,Hash函数在使用的过程中一般不需要考虑Hash值相同的情况。


    错误

  • 第6题:

    如果找到两个消息x和x',它们具有相同的Hash值,则是找到了一对碰撞消息。


    正确