Java 对象 equals() 方法



描述

Java Object equals(Object obj) 方法指示其他某个对象是否“等于”此对象。

Object 类的 equals 方法实现了对象上最具辨别力的等价关系;也就是说,对于任何非空引用值 x 和 y,此方法仅当 x 和 y 引用同一对象时才返回 true(x == y 的值为 true)。

请注意,每当覆盖此方法时,通常都需要覆盖 hashCode 方法,以维护 hashCode 方法的一般约定,该约定指出相等的对象必须具有相等的哈希码。

声明

以下是 java.lang.Object.equals() 方法的声明

public boolean equals(Object obj)

参数

obj - 要比较的引用对象。

返回值

如果此对象与 obj 参数相同,则此方法返回 true;否则返回 false

异常

检查兼容对象的相等性示例

以下示例演示了 java.lang.Object.equals() 方法的使用。在此示例中,我们创建了一个值为 50 的 Integer 对象。现在使用 equals() 方法,我们将 Integer 对象与值为 50 的对象进行比较,并打印结果。

package com.tutorialspoint;

public class ObjectDemo {

   public static void main(String[] args) {

      // get an integer, which is an object
      Integer x = Integer.valueOf(50);

      // check if x is equal with another int 50
      System.out.println("" + x.equals(50));
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

true

检查不兼容对象的相等性示例

以下示例演示了 java.lang.Object.equals() 方法的使用。在此示例中,我们创建了一个值为 50 的 Integer 对象和一个具有相同值的 Float 对象。现在使用 equals() 方法,我们将这两个对象进行比较,并打印结果。

package com.tutorialspoint;

public class ObjectDemo {

   public static void main(String[] args) {

      // get an integer, which is an object
      Integer x = Integer.valueOf(50);

      // get a float, which is an object as well
      Float y = Float.valueOf(50f);

      // check if these are equal,which is 
      // false since they are different class
      System.out.println("" + x.equals(y));
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

false

检查相同对象的相等性示例

以下示例演示了 java.lang.Object.equals() 方法的使用。在此示例中,我们创建了一个值为 50 的 Integer 对象。现在使用 equals() 方法,我们将 Integer 对象与自身进行比较,并打印结果。

package com.tutorialspoint;

public class ObjectDemo {

   public static void main(String[] args) {

      // get an integer, which is an object
      Integer x = Integer.valueOf(50);

      // check if x is equal with same object
      System.out.println("" + x.equals(x));
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

true
java_lang_object.htm
广告