equals说明
1.equals方法是object类的一个方法
官方文档说明:
翻译:
指示某个其他对象是否“等于”此对象。 equals 方法在非空对象引用上实现等价关系:
它是自反的:对于任何非空引用值 x,x.equals(x) 应返回 true。
它是对称的:对于任何非空引用值 x 和 y,x.equals(y) 应返回 true 当且仅当 y.equals(x) 返回 true。
它是传递的:对于任何非空引用值 x、y 和 z,如果 x.equals(y) 返回 true 并且 y.equals(z) 返回 true,则 x.equals(z) 应返回 true。
它是一致的:对于任何非空引用值 x 和 y,x.equals(y) 的多次调用始终返回 true 或始终返回 false,前提是不修改对象上相等比较中使用的信息。对于任何非空引用值 x,x.equals(null) 应返回 false。
类 Object 的 equals 方法在对象上实现了最具辨别力的可能等价关系;也就是说,对于任何非空引用值 x 和 y,此方法返回 true 当且仅当 x 和 y 引用同一对象(x == y 的值为 true)。请注意,每当重写 hashCode 方法时,通常需要重写此方法,以便维护 hashCode 方法的一般协定,该协定声明相等的对象必须具有相等的哈希码。参数:obj – 要与之比较的参考对象。返回:如果此对象与 obj 参数相同,则为 true;否则为假。
String类equals方法
说明:
- 判断引用地址是否相等
- 判断是否是字符串类型
- 判断长度是否相等
- 判断每个字符是否相等 5.该方法用于判断值是否相等
总结:
-
对于基本数据类型==比较的是值是否相等
-
对于非基本数据类型
- 不重写equals方法,此时和==的功能相同,比较的引用是否相等
- 重写equals方法,比如String类用于判断值是否相等