1.在基本資料型別中:
"=="對於基本型別而言,判斷的是兩個變數的值是否相等;
"equals"不能用於基本資料型別,如果要比較,就需要使用基本型別對應的包裝類;
2.在引用型別中:
"=="比較的是變數的值在棧記憶體中存放的物件的堆記憶體位址(即比較引用的記憶體位址);
"equals"比較的是兩個物件的值是否相同(不是比較記憶體位址);
在string類,integer類等這些類中,對equals()方法進行了重寫,所以"equals"和"=="不同,而在object類中沒有區別。
自定義的類自動繼承了object的equals方法,但是可以通過重寫equals方法來實現記憶體位址的比較。
Java中equals 和「 」區別
1.對於基礎資料型別,使用 比較值是否相等 2.對於復合資料型別 類 使用equals 和 效果是一樣的,兩者比較的都是物件在記憶體中的存放位址 確切的說,是堆記憶體位址 3.對於string integer date等覆蓋了equals 方法的型別,比較的是存放的記憶體位址。而equals 的結果...
Java 中equals 和 的區別
疑問 equals 和 是用來幹什麼的?1 比較8種基本資料型別的引用位址,是否一樣 2 比較引用物件的內容,即堆的記憶體位址,是否一樣 疑問 兩者區別?public boolean equals object o 如果不重寫equals 兩者是沒有區別的。分析下string中兩者的區別 strin...
java中equals和 的區別
比較的是位址,可以比較物件和屬性 equals只用來比較物件,equals內部是由 實現的,所以比較的也是位址,因為每個物件都繼承了object自帶equals方法,但有些類庫重寫了equals方法。1.首先對於屬性的,因為是八種基本資料型別之一 byte,short,char,int,long,f...