equals

指示其他某个对象是否“等于”该对象。

equals方法在非null对象引用上实现等价关系:

  • 这是自反的:对于任何非null的参考值 xx.equals(x)应返回 true
  • 它是对称的:对于任何非null的引用值 xy当且仅当 x.equals(y) return时应返回。 truey.equals(x)true
  • 它是传递性:对于任何非空的参考值 xy以及z,如果 x.equals(y)回报率true和 y.equals(z)回报率true,那么 x.equals(z)应该返回true
  • 它是一致的:对于任何非null的引用值 x,只要不修改对象比较中使用的信息y,就可以多次调用 x.equals(y)一致返回true 或一致返回。 falseequals
  • 对于任何非null的参考值x, x.equals(null)应返回false

equals类方法Object实现了最挑剔的对象可能等价关系; 也就是说,对于任何非空引用值x和 ytrue当且仅当xy引用相同的对象(x == y具有值true)时,此方法返回

请注意,通常有必要在重写此hashCode方法时重写该方法,以维护该hashCode方法的常规约定,该约定规定相等的对象必须具有相等的哈希码。

参数:
obj 与之比较的参考对象。
返回值:
true如果此对象与obj参数相同;false除此以外。
也可以看看:
hashCode()
java.util.HashMap
原文地址:https://www.cnblogs.com/WLCYSYS/p/13221922.html