和 equals 的區別

2021-10-08 00:28:05 字數 732 閱讀 2740

== 是乙個運算子;

可以使用在基本資料型別變數和引用資料型別變數中:

如果比較的是基本資料型別,比較兩個變數儲存的資料是否相等(不一定型別相同)

如果是引用資料型別,比較兩個物件的位址值是否相同,即兩個引用是否指向同乙個物件實體

equals()是乙個方法,非運算子;

只適用於引用資料型別

object類中equals()的定義:(object類是所有類的根父類)

public boolean equals(object obj)
object類中的定義的equals()和==的作用是相同的,都是比較兩個物件的位址是否相同

像string、date、file、包裝類等,都是重寫了object類中的equals()方法,重寫之後比較的就是兩個物件的屬性是否相同

通常情況下,我們自己定義的類如果使用equals()方法,也通常是比較兩個物件的屬性,我們也要進行重寫。

(特別的:如果string型別的變數,是直接賦值的而不是new出來的,是可以用==的,因為直接賦值時儲存在常量池中)

class t

if(obj instanceof t)

return false;

}}

當然也可以使用編譯器自動生成重寫的方法。

Equals 和 的區別

對於值型別,如果物件的值相等,則相等運算子 返回 true,否則返回 false。對於string 以外的引用型別,如果兩個物件引用同乙個物件,則 返回 true。對於 string 型別,比較字串的值。操作比較的是兩個變數的值是否相等。equals 方法比較的是兩個物件的內容是否一致 equals...

equals 和 的區別

equals 方法 是string類從它的超類object中繼承的 被用來檢測兩個物件是否相等,即兩個物件的內容是否相等。用於比較引用 和 比較基本資料型別時具有不同的功能 1.比較基本資料型別,如果兩個值相同,則結果為true 2.而在比較引用時,如果引用指向記憶體中的同一物件,結果為true s...

和equals的區別

和 equals 的區別 1.是乙個運算子。2.equals則是string物件的方法,可以.點 出來。我們比較無非就是這兩種 1 基本資料型別比較 2 引用物件比較 1 基本資料型別比較 和equals都比較兩個值是否相等。相等為true 否則為false 2 引用物件比較 和equals都是比較...