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
对象equals()的语法
equals()
方法的语法是:
object.equals(Object obj)
equals() 参数
equals()
方法接受一个参数。
equals() 返回值
如果两个对象相等,则返回true
如果两个对象不相等,则返回 false
注意: 在Java中,如果两个引用变量指向同一个对象,那么这两个引用变量是相等的。
示例 1: Java Objectequals()
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: 对象 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() 方法。