java中Object类的equals理解

所有类都从Object类中继承了equals方法

Object类中equals方法源代码如下:

[java] view plain copy

  1. public boolean equals(Object obj)  
  2. {  
  3.     return this == obj;  
  4. }  


Object中的equals方法是直接判断this和obj本身的值是否相等,即用来判断调用equals的对象和形参obj所引用的对象是否是同一对象,所谓同一对象就是指内存中同一块存储单元,如果this和obj指向的hi同一块内存对象,则返回true,如果this和obj指向的不是同一块内存,则返回false,注意:即便是内容完全相等的两块不同的内存对象,也返回false。

如果是同一块内存,则object中的equals方法返回true,如果是不同的内存,则返回false

如果希望不同内存但相同内容的两个对象equals时返回true,则我们需要重写父类的equal方法

String类已经重写了object中的equals方法

原文地址:https://www.cnblogs.com/qxlxi/p/12861008.html