zoukankan      html  css  js  c++  java
  • java重载equals和hashCode

    class Employee {
    
        private int salary;
        private java.util.Date hireDay;
        private String name;
    
        public int getSalary() {
            return salary;
        }
    
        public void setSalary(int salary) {
            this.salary = salary;
        }
    
        public Date getHireDay() {
            return hireDay;
        }
    
        public void setHireDay(Date hireDay) {
            this.hireDay = hireDay;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Employee(String name, int salary, Date hireDay) {
            this.name = name;
            this.hireDay = hireDay;
            this.salary = salary;
        }
    
        public Employee() {
    
        }
    
        static private HashMap<String, String> dict = new HashMap<String, String>();
    
        static {
            num = 0;
    /*        dict.put("1","Employee");
            dict.put("2","Employee");*/
        }
    
        @Override
        public String toString() {
    
            if (hireDay == null)
                hireDay = Calendar.getInstance().getTime();
            SimpleDateFormat formatter;
            formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            return String.format("name:%s,salary:%d,hireDay:%s", name, salary, formatter.format(hireDay));
        }
    
        static int num;
    
        public static int getNum() {
            return num;
        }
    
        public static int setNum(int a) {
            num += a;
            return getNum();
        }
    
        @Override
        public int hashCode() {
            //0
            int result = 11;
            result = result * 17 + (name == null ? 0 : name.hashCode());
            result = result * 17 + (hireDay == null ? 0 : hireDay.hashCode());
            //result=result*17+salary;
            return result;
        }
    
        @Override
        public boolean equals(Object obj) {
            if (obj == null || !(obj instanceof Employee))
                return false;
            if (this == obj)
                return true;
            Employee instance = (Employee) obj;
    
            return name.equals(instance.name) && hireDay.equals(instance.hireDay);
        }
    }

     

  • 相关阅读:
    Sql Server 跨服务器连接
    ASCII码与16进制的互相转换(表)
    c#多线程 Invoke方法的使用
    登陆时验证码的制作(asp.net)
    jQ&js给label
    IT行业的一些专业术语
    html div 加边框样式
    分布式技术 memcached
    分布式技术 webservice
    MVC 绑定 下拉框数据
  • 原文地址:https://www.cnblogs.com/zhshlimi/p/6439844.html
Copyright © 2011-2022 走看看