和equals的區別和聯絡

2021-10-03 17:44:44 字數 724 閱讀 1659

總結的來說:

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

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

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

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

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

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

可以舉個簡單的例子,

string a=new string("abc"),

string b=new string("abc"),

a.equals(b)返回true,

a= =b返回false,

這就是區別,equals()本質上還是= =,只是string 和 date等重寫了equals()方法

equals本身和==沒有區別,對於基本資料都是比較值,對於物件都是比較是否為記憶體位址,其他類在繼承object類之後對equals方法重寫,所以表現的是比較裡面的內容....

equals和 的區別和聯絡

比較方式 基本資料型別 比較數值 引用資料型別 比較記憶體位址是否相同 equals比較方式 引用物件。objec模擬較的是位址值,但是繼承他的類大都重寫了equals方法比較成員變數的值是否相同。例如 integer類 自定義類也可以重寫其中equals方法,比如比較兩個user物件是否相同,可以...

Java中 和equals的區別和聯絡

一 概念簡介 1 和equals比較運算子 要求兩個引用變數指向同一物件時才返回true,equals方法則允許使用者提供自定義的相等規則。2 object類提供的equals方法判斷兩個物件相等的標準與 完全相同。因此開發者通常需要重寫equals方法。二 號比較應用 1 示例 public cl...

和 區別和聯絡, 和 區別和聯絡

和 區別和聯絡,和 區別和聯絡,實際專案中,什麼情況用哪種?首先,和 的聯絡 共同點 和 都可以用作 邏輯與 運算子,都是雙目運算子。具體要看使用時的具體條件來決定。無論使用哪種運算子,對最終的運算結果都沒有影響。情況1 當上述的運算元是boolean型別變數時,和 都可以用作邏輯與運算子。情況2 ...