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

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