📜  Java对象equals()

📅  最后修改于: 2020-09-27 02:25:58             🧑  作者: Mango

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

equals()方法的语法为:

object.equals(Object obj)

equals()参数

equals()方法采用单个参数。

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

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

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


示例1:Java对象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类的Object 。在这里, equals()方法用于检查对象是否彼此相等。


示例2:带有字符串的equals()
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()方法。