【Java】==和 equals 的区别?(约204字)

==和 equals 的区别?

在 Java 中,== 操作符和 equals() 方法用于比较两个对象:

①、==:用于比较两个对象的引用,即它们是否指向同一个对象实例。

如果两个变量引用同一个对象实例,== 返回 true,否则返回 false

对于基本数据类型(如 int, double, char 等),== 比较的是值是否相等。

②、equals() 方法:用于比较两个对象的内容是否相等。默认情况下,equals() 方法的行为与 == 相同,即比较对象引用,如在超类 Object 中:

public boolean equals(Object obj) {
    return (this == obj);
}

然而,equals() 方法通常被各种类重写。例如,String 类重写了 equals() 方法,以便它可以比较两个字符串的字符内容是否完全一样。

 Java 进阶之路,String的equals()源码

举个例子:

String a = new String("");
String b = new String("");

// 使用 == 比较
System.out.println(a == b); // 输出 false,因为 a 和 b 引用不同的对象

// 使用 equals() 比较
System.out.println(a.equals(b)); // 输出 true,因为 a 和 b 的内容相同

THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容