zoukankan      html  css  js  c++  java
  • java中重写equals()方法时为什么要重写hashCode()方法

    转载自:https://blog.csdn.net/qq_28051453/article/details/52701171

    一、什么是hashCode()、equals()方法?

    二、hashCode(),equals()两种方法是什么关系?

    三、为什么在重写equals方法的时候要重写hashCode的方法?

    四、怎么重写这两种方法?

     

     

     

     

     

          public class SimpleDemo {
        // 部门
        private String department;
        // 工号
        private int id;
     
        public SimpleDemo(int id, String department) {
            super();
            this.id = id;
            this.department = department;
        }
     
        public int getId() {
            return id;
        }
     
        public void setId(int id) {
            this.id = id;
        }
     
        public String getdepartment() {
            return department;
        }
     
        public void setdepartment(String department) {
            this.department = department;
        }
     
        @Override
        public int hashCode() {
            int hash = 1;
            hash = hash * 17 + id;
            hash = hash * 31 + department.hashCode();
            return hash;
        }
           @Override
        public boolean equals(Object obj) {
            if (obj == null)
                return false;
            if (obj == this)
                return true;
            if (obj instanceof SimpleDemo) {
                SimpleDemo sd = (SimpleDemo) obj;
                return sd.department.equals(department) && sd.id == id;
            }
            return false;
        }
    ————————————————
    版权声明:本文为CSDN博主「南瓜灯cc」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_28051453/article/details/5270117

  • 相关阅读:
    积分图像
    [悟] 因上努力,果上随缘(转)
    不要走的太匆忙( 转)
    一个程序员如何快速赚到一百万?(转)
    vi文字处理器
    Linux常用命令
    Hadoop之MapReduce
    Hadoop全分布模式操作
    Hadoop之HDFS
    Hadoop生态系统
  • 原文地址:https://www.cnblogs.com/Yi-ling/p/14511273.html
Copyright © 2011-2022 走看看