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


    两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗?
    不对,两个对象的 hashCode() 相同,equals() 不一定 true。
    代码示例:

    String str1 = "精彩";
    String str2 = "笔记";
    System. out. println(String. format("str1:%d | str2:%d", str1. hashCode(),str2. hashCode()));
    System. out. println(str1. equals(str2));

    执行的结果:
    str1:1179395 | str2:1179395
    false

    代码解读:很显然“精彩”和“笔记”的 hashCode() 相同,然而 equals() 则为 false,因为在散列表中,hashCode() 相等即两个键值对的哈希值相等,然而哈希值相等,并不一定能得出键值对相等。

  • 相关阅读:
    软件工程课程设计团队项目总结与项目报告
    个人总结
    团队项目UI
    黄金点
    wordcount
    小学运算
    第七周
    第八周
    第六周博客
    第五周博客
  • 原文地址:https://www.cnblogs.com/wht123/p/14215466.html
Copyright © 2020-2023  润新知