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