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


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


剛開始學習Java中字符串的比較時,可能會對==和equals比較迷茫,今天我就通過一個小例子來簡單說明一下equals和==的區別 。
操作方法
  • 01首先,定義兩個String類變量a和b,然后,把字符串“mimi”賦值給變量a和b 。我們給a賦值的時候就會在內存分配一個地址存放“mimi” 。而再次給b賦值的時候,因為內存中已經存在了“mimi”,所以a和b指向的是同一個地址 。而使用new來創建對象“mimi”,就會重新在內存中分配一個地址 。也就是說a和b指向的地址一樣,a和c指向的地址不一樣 。
  • 02接著我們使用輸出方法來判斷一下他們之間的真假 。
  • 03點擊工具欄中的運行按鈕運行Java程序 。
  • 04如圖,運行之后,控制臺就會出現結果 。
  • 05【java中equals和==的區別是什么】為了更直觀,我把結果放到旁邊,方便進行講解 。a==b結果為true(真),而a==c,b==c結果都為false(假),之前說過,a和b地址一樣,可見對于比較字符串時,==比較的是地址 。而a.equals(b)和a.equals(c)結果都是true,所以比較字符串時,equals比較的是字符串內容而不是地址 。

    推薦閱讀