浅谈equals方法
· 阅读需 5 分钟
equals是Java中非常常见的方法,equals不只是字符串区别于==的一个比较的方法,继承Object的类都可以重写equals方法,因为类很多,有时候会记得很乱,所以这里总结一下和它相关的一些知识点。
话不多说,上源码,以下基于JDK1.8文档总结
1 、Object类中
Indicates whether some other object is "equal to" this one. 指示其他对象是否"等于"此对象。
public boolean equals(Object obj) {
return (this == obj);
}
重写equals方法
子类重写equals方法时,要遵循如下规则:
- 自反性:对于任何非空引用值 x,x.equals(x) 都应返回 true。
- 对称性:对于任何非空引用值 x 和 y,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 才应返回 true。
- 传递性:对于任何非空引用值 x、y 和 z,如果 x.equals(y) 返回 true,并且 y.equals(z) 返回 true,那么 x.equals(z) 应返回 true。
