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()
方法来检查两个对象 obj1 和 obj2 是否相等。
这里,最初,两个新创建的对象都是 null
。因此,该方法返回 true
。但是,当我们给对象赋值后。该方法返回 false
。
这是因为 String 类重写了 equal()
方法,以便该方法比较对象中的元素。由于 obj1 和 obj2 的值不同,因此该方法返回 false
。
注意:Object
类是 Java 中所有类的超类。因此,每个类和数组都可以实现 equals()
方法。