與equals的區別

2022-03-30 00:33:06 字數 549 閱讀 3881

==比較兩個物件在記憶體裡是不是同乙個物件,就是說在記憶體裡的儲存位置一致。兩個string物件儲存的值是一樣的,但有可能在記憶體裡儲存在不同的地方 .

==比較的是引用而equals方法比較的是內容。public boolean equals(object obj) 這個方法是由object物件提供的,可以由子類進行重寫。預設的實現只有當物件和自身進行比較時才會返回true,這個時候和==是等價的。string, bitset, date, 和file都對equals方法進行了重寫,對兩個string物件 而言,值相等意味著它們包含同樣的字串行。對於基本型別的包裝類來說,值相等意味著對應的基本型別的值一樣。

public

class

equalstest

}

== comparison : true

== comparison : true

using equals method :

true

false

using equals method :

true

與equals的區別

注意 當比較兩個基本資料型別的變數是否相等時 基本資料型別包括 byte short int long float double 當它們的值相同時,則 結果就為true eg public class class6 1 public static void main string args stri...

與equals的區別

public class equaltest 執行結果為 t1 t2 false t1 t2 t3 true t3 t4 true i1.equals i2 false i3.equals i1 i2 true i3.equals i4 true st1 st2 false st1 st2 st3 ...

與 equals的區別

與equals都是比較兩個變數得到true或false。在進行比較時,先說說記憶體,記憶體分為堆和棧。基本資料型別中,是把值存在棧中,把值傳遞給變數,這種傳遞叫值傳遞。引用資料型別中,是在棧中存位址,堆中存的new的物件,給變數賦值傳遞時,傳的是位址,這種傳遞叫引用傳遞。基本資料型別 int a 1...