首頁 > Java > Java基礎 > java中的equals與==的區別

java中的equals與==的區別

angryTom
發布: 2019-11-11 15:18:51
原創
4457 人瀏覽過

java中的equals與==的區別

java中的equals與==的差異

##「==」 比較的是兩個引用在記憶體中指向的不是同一物件(即同一記憶體空間),也就是說在記憶體空間中的儲存位置是否一致。

equals,常用的是物件裡面的內容是否相等

equals方法是由Object類別提供的,可以由子類別來進行重寫(推薦教學:

java教學

public boolean equals(Object obj) {
    return (this == obj);
}
登入後複製

預設的實作只有當物件和自身進行比較時才會回傳true, 這個時候和「==」是等價的。

Java中許多類別(String類別  Date類別  File類別)等都對equals方法進行了重寫,這裡拿常見的String類別舉例。

public class Test {
    public static void main(String[] args) {
        String num1= "abc";
        String num2= "abc";
        System.out.println(num1==num2);//true
 
        String num3 = new String("abc");
        String num4= new String ("abc");
        System.out.println(num3==mnum4);//false
        System.out.println(num3.equals(num4));//true
    }
}
登入後複製

Java 語言裡的 equals方法其實是交給開發者去覆寫的,讓開發者自己去定義滿足什麼條件的兩個Object是equal的。

等於說是equals方法和"=="完全一樣;但是equals方法可以重寫;"=="的話,如果是值型別則比較值是否相等;如果是引用型別則判斷物件位址是否相等。

以上是java中的equals與==的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板