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