酷知百科網

位置:首頁 > 遊戲數碼 > IT技術

java中equals和==的區別是什麼

IT技術4.97K

剛開始學習Java中字元串的比較時,可能會對==和equals比較迷茫,今天我就透過一個小例子來簡單說明一下equals和==的區別。

操作方法

(01)首先,定義兩個String類變量a和b,然後,把字元串“mimi”賦值給變量a和b。我們給a賦值的時候就會在內存分配一個地址存放“mimi”。而再次給b賦值的時候,因爲內存中已經存在了“mimi”,所以a和b指向的是同一個地址。而使用new來創建對象“mimi”,就會重新在內存中分配一個地址。也就是說a和b指向的地址一樣,a和c指向的地址不一樣。

java中equals和==的區別是什麼

(02)接着我們使用輸出方法來判斷一下他們之間的真假。

java中equals和==的區別是什麼 第2張

(03)點擊工具欄中的執行按鈕執行Java程序。

java中equals和==的區別是什麼 第3張

(04)如圖,執行之後,控制檯就會出現結果。

java中equals和==的區別是什麼 第4張

(05)爲了更直觀,我把結果放到旁邊,方便進行講解。a==b結果爲true(真),而a==c,b==c結果都爲false(假),之前說過,a和b地址一樣,可見對於比較字元串時,==比較的是地址。而ls(b)和ls(c)結果都是true,所以比較字元串時,equals比較的是字元串內容而不是地址。

java中equals和==的區別是什麼 第5張
標籤:JAVA equals