1. 程式人生 > >三、 == 和equals的區別

三、 == 和equals的區別

  • 值型別是儲存在記憶體中的堆疊(以後簡稱棧),而引用型別的變數在棧中僅僅是儲存引用型別變數的地址,而其本身則儲存在堆中。
  • == 操作比較的是兩個變數的值是否相等,對於引用型變量表示的是兩個變數在堆中儲存的地址是否相同,即棧中的內容是否相同。
  • equals操作表示的是兩個變數是否是對同一個物件的引用,即堆中的內容是否相同。
  • == 比較的是2個物件的地址,而equals比較的是2個物件的內容。顯然,當equals為true時,==不一定為true。