網站首頁 健康小知識 母嬰教育 起名 運動知識 職場理財 情感生活 綠色生活 遊戲數碼 美容 特色美食 愛好

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

欄目: IT技術 / 釋出於: / 人氣:4.3K

剛開始學習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張
Tags:JAVA equals