美文网首页js css html
java hashcode为啥需要重写在重写equals方法下

java hashcode为啥需要重写在重写equals方法下

作者: 在岁月中远行 | 来源:发表于2022-06-08 22:30 被阅读0次

    1 编程中经常会用到HashMap,HashSet数据结构。

    2 这个数据结构都是由键值对组成的,如果键值对是对象,那么程序会根据对象返回的hashCode来确定值所在的位置。

    3 我们通常认为两个相同内容的对象是相等的,并通过重写equals方法来达到目的。

    4 由于对象默认返回hashcode是对象的地址值,当我们把上面相等的对象作为HashMap的键时候,会发现程序会定位到两个不同的位置的值,这种结果是不合适的。

    5 这也就是为什么在重写equals方法的时候,往往需要重写hashCode,让相等的对象返回相同的hashCode的原因。

    相关文章

      网友评论

        本文标题:java hashcode为啥需要重写在重写equals方法下

        本文链接:https://www.haomeiwen.com/subject/tbrpmrtx.html