zoukankan      html  css  js  c++  java
  • Java为什么要同时重写equals和hashcode

    一、内存地址

    1. equals默认是比较两个对象的内存地址是否相同

    2. hashCode根据对象的地址,生成int整数,即hash值,和地址一一对应

    二、重写

    1. 某些情况下,我们希望用对象的相同字段来比较是否相同,而不是地址

    2. 需要重写equals

    三、Set, Map

    这两个类是使用hashCode来比较定位的,如果不同时重写,会有问题

    四、如何重写

    lombok注解 @EqualsAndHashCode

  • 相关阅读:
    Vue
    Vue
    Vue
    Vue
    Vue
    kubernetes
    kubernetes
    kubernetes
    django源码bug解决方案
    UNI-APP 桌面LOGO角标设置(ios)
  • 原文地址:https://www.cnblogs.com/june0816/p/11397951.html
Copyright © 2011-2022 走看看