zoukankan      html  css  js  c++  java
  • 如何判断同一类型的两个对象的属性值是否相等

    https://www.jianshu.com/p/cc9f95792fd3

    重写equals的时候重写hashcode


    @Override
    public int hashCode() {
    int result = employeeCode != null ? employeeCode.hashCode() : 0;
    result = 31 * result + (employeeName != null ? employeeName.hashCode() : 0);
    result = 31 * result + (ownerSite != null ? ownerSite.hashCode() : 0);
    result = 31 * result + (phone != null ? phone.hashCode() : 0);
    result = 31 * result + (address != null ? address.hashCode() : 0);
    result = 31 * result + (employeeType != null ? employeeType.hashCode() : 0);
    result = 31 * result + (blFlag != null ? blFlag.hashCode() : 0);
    result = 31 * result + (modifyUserCode != null ? modifyUserCode.hashCode() : 0);
    result = 31 * result + (orgCode != null ? orgCode.hashCode() : 0);
    result = 31 * result + (delFlag != null ? delFlag.hashCode() : 0);
    result = 31 * result + (title != null ? title.hashCode() : 0);
    result = 31 * result + (employeeSource != null ? employeeSource.hashCode() : 0);
    result = 31 * result + (telephone != null ? telephone.hashCode() : 0);
    result = 31 * result + (email != null ? email.hashCode() : 0);
    result = 31 * result + (userCardType != null ? userCardType.hashCode() : 0);
    result = 31 * result + (userCardId != null ? userCardId.hashCode() : 0);
    return result;
    }

    @Override
    public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    BaseEmployeeEntity that = (BaseEmployeeEntity) o;


    if (employeeCode != null ? !employeeCode.equals(that.employeeCode) : that.employeeCode != null) return false;
    if (employeeName != null ? !employeeName.equals(that.employeeName) : that.employeeName != null) return false;
    if (ownerSite != null ? !ownerSite.equals(that.ownerSite) : that.ownerSite != null) return false;
    if (phone != null ? !phone.equals(that.phone) : that.phone != null) return false;
    if (address != null ? !address.equals(that.address) : that.address != null) return false;
    if (employeeType != null ? !employeeType.equals(that.employeeType) : that.employeeType != null) return false;

    if (blFlag != null ? !blFlag.equals(that.blFlag) : that.blFlag != null) return false;


    if (modifyUserCode != null ? !modifyUserCode.equals(that.modifyUserCode) : that.modifyUserCode != null)
    return false;
    if (orgCode != null ? !orgCode.equals(that.orgCode) : that.orgCode != null) return false;
    if (delFlag != null ? !delFlag.equals(that.delFlag) : that.delFlag != null) return false;
    if (title != null ? !title.equals(that.title) : that.title != null) return false;

    if (employeeSource != null ? !employeeSource.equals(that.employeeSource) : that.employeeSource != null)
    return false;
    if (telephone != null ? !telephone.equals(that.telephone) : that.telephone != null) return false;


    if (userCardType != null ? !userCardType.equals(that.userCardType) : that.userCardType != null) return false;
    return userCardId != null ? userCardId.equals(that.userCardId) : that.userCardId == null;
    }
  • 相关阅读:
    【转】ASP.NET页面刷新方法总结
    GridView点击超链接时弹出小窗口
    VS2008增加AJAX Control Toolkit3.5支持(组图)
    水晶报表中"已达到系统管理员配置的最大报表处理作业数限制"错误的处理
    asp.net 在使用Response.Redirect try{}catch{}块失效
    【转】ASP.NET的五大数据控件浅谈
    ASP.NET生成随机密码
    ASP.NET Web应用程序和ASP.NET网站的区别
    使用ArcGIS GP服务之一框架介绍
    mysql索引的类型和优缺点
  • 原文地址:https://www.cnblogs.com/feifeicui/p/9158999.html
Copyright © 2011-2022 走看看