重写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方法?不重写可以吗?

Java 基础 - 如何重写equals()

java 集合中重写hashCode方法和重写equals方法啥关系?

java容器中关于equals的重写

重写equals 方法的注意事项

重写了equals方法为何需要重写 hashCode