跳到主要内容

Java Object equals() 方法

equals() 方法用于检查两个对象是否相等。

示例

class Main {
public static void main(String[] args) {

// 使用 Object 类创建一个对象
Object obj1 = new Object();

// 将 obj1 赋值给 obj2
Object obj2 = obj1;

// 检查 obj1 和 obj2 是否相等
System.out.println(obj1.equals(obj2));

}
}

// 输出:true

Object equals() 的语法

equals() 方法的语法是:

object.equals(Object obj)

equals() 参数

equals() 方法接受单个参数。

  • obj - 要与当前对象进行比较的对象

equals() 返回值

  • 如果两个对象相等,则返回 true
  • 如果两个对象不相等,则返回 false

注意:在 Java 中,如果两个引用变量引用同一个对象,则这两个引用变量彼此相等。

示例 1:Java Object equals()

class Main {
public static void main(String[] args) {

// 使用 Object 类的 equals() 方法
// 创建两个对象
Object obj1 = new Object();
Object obj2 = new Object();

// 检查 obj1 和 obj2 是否相等
System.out.println(obj1.equals(obj2)); // false


// 将 obj1 赋值给 obj3
Object obj3 = obj1;
System.out.println(obj1.equals(obj3)); // true

}
}

在上面的示例中,我们创建了 Object 类的对象。这里,equals() 方法用于检查对象是否相互等同。

示例 2:使用 String 的 Object equals()

class Main {
public static void main(String[] args) {

// 使用 String 对象的 equals()
// 创建字符串对象
String obj1 = new String();
String obj2 = new String();

// 检查 obj1 和 obj2 是否相等
System.out.println(obj1.equals(obj2)); // true


// 为对象赋值
obj1 = "Java 编程";
obj2 = "Python 编程";

// 再次检查 obj1 和 obj2 是否相等
System.out.println(obj1.equals(obj2)); // false


}
}

在上述示例中,我们使用了 equals() 方法来检查两个对象 obj1obj2 是否相等。

这里,最初新创建的两个对象都是 null。因此,方法返回 true。然而,当我们为对象赋值时,方法返回 false

这是因为 String 类重写了 equal() 方法,使得该方法比较对象的元素。由于 obj1obj2 的值不同,方法返回 false

注意Object 类是 Java 中所有类的超类。因此,每个类和数组都可以实现 equals() 方法。