Java Object equals()

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

示例

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

    // create an object using Object class
    Object obj1 = new Object();

    // assign obj1 to obj2
    Object obj2 = obj1;

// check if obj1 and obj2 are equal System.out.println(obj1.equals(obj2));
} } // Output: 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) {

    // equals() method with Object class
    // create two objects
    Object obj1 = new Object();
    Object obj2 = new Object();

    // check if obj1 and obj2 are equal
System.out.println(obj1.equals(obj2)); // false
// assign obj1 to obj3 Object obj3 = obj1;
System.out.println(obj1.equals(obj3)); // true
} }

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


示例 2:Object equals() 与 String

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

    // equals() with String objects
    // create objects of string
    String obj1 = new String();
    String obj2 = new String();

    // check if obj1 and obj2 are equal
System.out.println(obj1.equals(obj2)); // true
// assign values to objects obj1 = "Java Programming"; obj2 = "Python Programming"; // again check if obj1 and obj2 are equal
System.out.println(obj1.equals(obj2)); // false
} }

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

这里,最初,两个新创建的对象都是 null。因此,该方法返回 true。但是,当我们给对象赋值后。该方法返回 false

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

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

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战