關於 和equals的區別

2021-09-25 11:57:19 字數 694 閱讀 3389

(1)對於字串變數來說,使用「= =」和「equals()」方法比較字串時,其比較方法不同。

「= =」比較兩個變數本身的值,即兩個物件在記憶體中的首位址。

「equals()」比較字串中所包含的內容是否相同。

(2)對於非字串變數來說,「= =」和"equals"方法的作用是相同的都是用來比較其

物件在堆記憶體的首位址,即用來比較兩個引用變數是否指向同乙個物件。

注意:(1)如果是基本型別比較,那麼只能用「= =」來比較,不能用equals

(2)對於基本型別的包裝型別,比如boolean、character、byte、shot、integer、long、float、double等的引用變數,

「= =」是比較位址的,而equals是比較內容的。

總結的來說:

1)對於==,比較的是值是否相等

如果作用於基本資料型別的變數,則直接比較其儲存的 「值」是否相等;

如果作用於引用型別的變數,則比較的是所指向的物件的位址

2)對於equals方法,注意:equals方法不能作用於基本資料型別的變數,equals繼承object類,比較的是是否是同乙個物件

如果沒有對equals方法進行重寫,則比較的是引用型別的變數所指向的物件的位址;

諸如string、date等類對equals方法進行了重寫的話,比較的是所指向的物件的內容。

關於equals與 的區別

關於equals與 的區別從以下幾個方面來說 1 如果是基本型別比較,那麼只能用 來比較,不能用equals 比如 public class testequals 2 對於基本型別的包裝型別,比如boolean character byte shot integer long float doubl...

Equals 和 的區別

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

equals 和 的區別

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