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

來源:酷知科普網 4.61K

剛開始學習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張
熱門標籤