搜尋
首頁JavaJava基礎java中的equals與==的區別

java中的equals與==的區別

Nov 11, 2019 pm 03:18 PM
==equalsjava

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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境