重写java equals 方法的建议
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重写java equals 方法的建议相关的知识,希望对你有一定的参考价值。
@Override
public boolean equals(Object otherObject) {
//1.检测this 与 otherObject 是否引用同一个对象
if (this == otherObject) return true;
//2.检测otherObject 是否为null, 如果为null,返回false
if (null == otherObject) return false;
//3.比较this 与 ohterObject 是否属于同一个类
if(getClass() != otherObject.getClass()) return false;
if (!(otherObject instanceof Employee)) return false;
//4. 将otherObject 转换为相应的类类型变量
Employee employee = (Employee) otherObject;
//5.域比较
if (id != employee.id) return false;
if (Double.compare(employee.salary, salary) != 0) return false;
if (name != null ? !name.equals(employee.name) : employee.name != null) return false;
return true;
}
-- 摘《java核心技术:卷一》
以上是关于重写java equals 方法的建议的主要内容,如果未能解决你的问题,请参考以下文章
java中重写Object类的equals方法为啥要重写hashcode方法?不重写可以吗?