现在的位置: 首页 > Java面试题 > 正文

两个对象的 hashCode() 相同,则 equals() 也一定为 true 正确吗?

2021年09月14日 Java面试题 ⁄ 共 277字 ⁄ 字号 暂无评论

不正确,两个对象的 hashCode() 相同,equals() 不一定 true。比如在 map 中,hashCode() 相等,只能说明这两个键值对的哈希值相同,不代表这两个键值对相等。


String str1 = "通话";
    String str2 = "重地";
    // str1: 1179395 | str2: 1179395
    System.out.println(String.format("str1: %d | str2: %d",str1.hashCode(),str2.hashCode()));
    // false
    System.out.println(str1.equals(str2));

给我留言

留言无头像?


×