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 MVC之从控制器传递数据到视图四种方式
    MVC发布到IIS,出现HTTP 错误 404.0
    超详细MySQL安装及基本使用教程
    node.js中使用node-xlsx插件生成excel数据并导出
    jquery给一组radio赋值和取值
    node.js生成excel下载各种方法分析对比--附excel-export方法
    JS中substr和substring的区别
    jq触发a标签的href跳转
    jq中跳出方法、for循环和each循环
    IIS应用程序池频繁崩溃的问题
  • 原文地址:https://www.cnblogs.com/feifeicui/p/9158999.html
Copyright © 2011-2022 走看看