-
==
: 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。其中,对于基本数据类型 ,它比较的是值;对于引用数据类型,它比较的是内存地址。 -
equals()
: 它的作用也是判断两个对象是否相等。但它一般有两种使用情况: -
情况一:当类没有重写
equals()
方法时,通过equals()
来比较该类的两个对象时就等价于通过==
比较这两个对象。 -
情况二:当类重写了
equals()
方法时,这是我们比较常用的方式。此时,我们通常通过重写equals()
方法来判断两个对象的内容相等,若它们的内容相等,则返回 true。
代码示例:
public class test1 {
public static void main(String[] args) {
String a = new String(“ab”); // a 为一个引用
String b = new String(“ab”); // b为另一个引用,对象的内容一样
String aa = “ab”; // 放在常量池中
String bb = “ab”; // 从常量池中查找
if (aa == bb) // true
System.out.println(“aa==bb”);
if (a == b) // false,非同一对象<