java编程正确重写hashCode和equesl方案

Posted 无信不立

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java编程正确重写hashCode和equesl方案相关的知识,希望对你有一定的参考价值。

一、 正确书写hashCode的办法:

【原则】按照equals( )中比较两个对象是否一致的条件用到的属性来重写hashCode()。

{1}. 常用的办法就是利用涉及到的的属性进行线性组合

{2}. 线性组合过程中涉及到的组合系数自定义即可。

注意,拼接之后的数值不能超过整形的表达范围。

{3}. 公式:属性1的int形式+ C1*属性2的int形式+  C2*属性3的int形式+ …

【技巧】当属性是引用类型的时候,如果已经重写过hashCode(),那么这个引用属性的int形式就是直接调用属性已有的hashCode值。

最典型的就是这个属性是字符串类型的,String类型已经重写了hashCode()方法,所以直接拿来使用即可。

以上是关于java编程正确重写hashCode和equesl方案的主要内容,如果未能解决你的问题,请参考以下文章

JAVA正确地自定义比较对象---如何重写equals方法和hashCode方法

阿里巴巴Java 开发手册编程规约之集合处理

如何正确的重写hashcode()?(备战2022春招或暑期实习,每天进步一点点,打卡100天,Day4)

高效 告别996,开启java高效编程之门 3-26去重

高效 告别996,开启java高效编程之门 3-26去重

如何重写hashCode()和equals()方法