`
JinLoveJava
  • 浏览: 23334 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多
对。

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

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

分享到:
评论

相关推荐

    java面试题,java基础,javaweb,spring,springmvc,mybatis等

    2. 两个对象值相同(x.equals(y) == true),但却可有不同的 hash code,这句话对不对?对的,因为 hash code 只是对象的标识符。 3. Object 类中定义的方法有:clone()、equals()、finalize()、getClass()、hashCode...

    2013年最全的JAVA面试题集,内部资料,绝对能帮助到你,不要后悔哦。

    两个对象值相同(x.equals(y) ==true),但却可有不同的hash code,这句话对不对?(等级1级) 15. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递...

    java笔试题

    16、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 17、是否可以继承String类? 18、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,...

    java面试题.docx

    12. 两个对象值相同(x.equals(y)==true),但却可有不同的hash code,这句话对不对?为什么? 答案:对 解释:两个对象的值相同,但它们的hash code可以不同。这是因为hash code是对象的唯一标识,而不是对象的...

    net学习笔记及其他代码应用

    44.两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 答:不对,有相同的hash code。 45.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? 答:switch(expr1...

    Java面试题集(2017修订版).doc

    12. 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? - 正确,虽然两个对象值相等,但它们的哈希码可能不同,特别是在多线程环境中或使用了不同的哈希算法时。 13. 写出Object类中...

    java笔试1.pdf

    在Java中,两个 `String` 对象即使内容相同,它们也是不同的对象,因此 `==` 比较返回 `false`。 6. (6) `Math.round(11.5)` 的值是 `12`。`Math.round()` 方法会四舍五入到最接近的整数。 7. (7) 将 `MenuBar` ...

    变态级JAVA程序员面试32问

     第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?  第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里...

    变态级JAVA程序员面试32问(附答案)

    29. 两个对象值相同(x.equals(y) == true),但却可有不同的 hash code,这句话对不对? 正确,两个对象值相同,但却可有不同的 hash code。 30. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的...

    JAVA程序员面试32问

    #### 第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的 hash code,这句话对不对? - 如果`x.equals(y)`为`true`,根据`equals()`和`hashCode()`的一致性原则,它们应当具有相同的哈希码。但是,...

    大华股份java笔试题-interviewer:面试官

    hashCode,这句话对不对?(2017-11-14-wl) 是否可以继承 String (2017-11-14-wl) 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递...

    超级有影响力霸气的Java面试题大全文档

    在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...

    java面试题总结

    两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对? - **不对**:如果`x.equals(y)`为真,则`x`和`y`应该具有相同的`hashCode`。 #### 47. 当一个对象被当作参数传递到一个方法后,此...

    Java 面试题 Java 面试题

    两个对象值相同 (x.equals(y) == true),但却可有不同的 hashcode,这句话对不对 - **不对**。如果 x.equals(y) 返回 true,则这两个对象应该具有相同的 hashcode。这是为了保证一致性,尤其是在使用散列数据结构时...

    JAVA相关的面试大全

    两个对象值相同(x.equals(y)==true),但却可有不同的hash code,这句话对不对? - 如果`x.equals(y)`为真,则`x`和`y`应当具有相同的哈希码。 - 实现`equals()`方法的同时,应相应地实现`hashCode()`方法。 #### ...

Global site tag (gtag.js) - Google Analytics