指示其他某个对象是否“等于”该对象。
该equals
方法在非null对象引用上实现等价关系:
- 这是自反的:对于任何非null的参考值
x
,x.equals(x)
应返回true
。 - 它是对称的:对于任何非null的引用值
x
和y
,当且仅当x.equals(y)
return时应返回。true
y.equals(x)
true
- 它是传递性:对于任何非空的参考值
x
,y
以及z
,如果x.equals(y)
回报率true
和y.equals(z)
回报率true
,那么x.equals(z)
应该返回true
。 - 它是一致的:对于任何非null的引用值
x
和,只要不修改对象比较中使用的信息y
,就可以多次调用x.equals(y)
一致返回true
或一致返回。false
equals
- 对于任何非null的参考值
x
,x.equals(null)
应返回false
。
在equals
类方法Object
实现了最挑剔的对象可能等价关系; 也就是说,对于任何非空引用值x
和 y
,true
当且仅当x
和y
引用相同的对象(x == y
具有值true
)时,此方法返回。
请注意,通常有必要在重写此hashCode
方法时重写该方法,以维护该hashCode
方法的常规约定,该约定规定相等的对象必须具有相等的哈希码。
- 参数:
- obj 与之比较的参考对象。
- 返回值:
true
如果此对象与obj参数相同;false
除此以外。- 也可以看看:
- hashCode()
- java.util.HashMap