教程 > Java 教程 > Java 高级 阅读:29

Java Object equals() 方法

返回 Java Object 类


Object equals() 方法用于比较两个对象是否相等。

equals() 方法比较两个对象,是判断两个对象引用指向的是同一个对象,即比较 2 个对象的内存地址是否相等。

注意:如果子类重写了 equals() 方法,就需要重写 hashCode() 方法,比如 String 类就重写了 equals() 方法,同时也重写了 hashCode() 方法。

语法

object.equals(Object obj)

参数

  • obj - 要比较的对象。

返回值

如果两个对象相等返回 true,否则返回 false。

实例

以下实例演示了 equals() 方法的使用:

实例 public class JiyikTest { public static void main(String[] args) {

    // Object 类使用 equals() 方法
    // 创建两个对象
    Object obj1 = new Object();
    Object obj2 = new Object();

    // 判断 obj1 与 obj2 是否相等
    // 不同对象,内存地址不同,不相等,返回 false
    System.out.println(obj1.equals(obj2)); // false

    // obj1 赋值给 obj3
    // String 重写了 equals() 方法
    // 对象引用,内存地址相同,相等,返回 true
    Object obj3 = obj1;
    System.out.println(obj1.equals(obj3)); // true
}

}

<a href='https://tools.jiyik.com/run_code/java_object_equals_example' class='run-code' target='_blank'>运行示例</a>

以上程序执行结果为:

false
true

String 类重写了 equals() 方法,用于比较两个字符串是否相等:

实例

public class JiyikTest {
    public static void main(String[] args) {
 
        // String 类使用 equals() 方法
        // 创建两个对象
        String obj1 = new String();
        String obj2 = new String();
 
        // 判断 obj1 与 obj2 是否相等
        // 初始化的两个对象都为 null,所以是相等,返回 true
        System.out.println(obj1.equals(obj2)); // true
 
        // 给对象赋值
        obj1 = "Jiyik";
        obj2 = "Google";
 
        // 判断 obj1 与 obj2 是否相等
        // 两个值不同,内存地址也不同,所以不相等,返回 false
        System.out.println(obj1.equals(obj2)); // false
 
    }
}

运行示例

以上程序执行结果为:

 true
false

返回 Java Object 类

查看笔记

扫码一下
查看教程更方便