如何判断同一类型的两个对象的属性值是否相等
2023-09-11 14:18:37 时间
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;
}
相关文章
- 如何在SpriteBuilder中设置对象的通用属性
- SpriteBuilder中的距离关节的min和max距离属性值
- js 获取和设置css3 属性值的实现方法
- ActiveX控件获取不到对象属性或者方法的原因分析
- windows.onload和body的onload属性的区别
- 删除对象的属性 delete的用法
- MDataTable属性RecordsAffected新应用:WebService与Json交互的记录总数
- fastjson转换对象,属性首字母大小写的问题
- 全面了解python中的类,对象,方法,属性
- Swift专题十一——属性
- 关于 Angular 工程文件 angular.json 里的 inlineCritical 属性
- HTML 按钮(button)的 disable 属性和 disable property
- css flex属性学习笔记
- vue 向对象中添加未在data中声明的属性
- ios oc 用关联对象给分类(协议)添加属性(关联的引用: Associative References)
- Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法、如何查询某个函数&关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略
- java面试题:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
- [h5棋牌项目]-08-请安装所需的版本的 Windows SDK 或者在项目属性页的问题解决方案
- touch-action属性
- 小程序开发之改变data中数组或对象的某一属性值
- object-c计划tips-添加到类对象属性
- 简搭(jabdp)属性配置之字段属性
- 【JS笔记】JS中的DOM对象以及通过JS获取DOM结点,操作DOM属性