== 比較方式:
基本資料型別:比較數值
引用資料型別:比較記憶體位址是否相同
equals比較方式:
引用物件。objec模擬較的是位址值,但是繼承他的類大都重寫了equals方法比較成員變數的值是否相同。例如(integer類)自定義類也可以重寫其中equals方法,比如比較兩個user物件是否相同,可以比較類中身份證號屬性,身份證號相同則物件相同。
先上object類中的equals方法吧:
admin admin1 = new admin();
admin admin2 = new admin();
system.out.println(admin1.equals(admin2));
system.out.println(admin1 == admin2);
執行效果:
false
false
此時的admin類中還沒有重寫equals方法,進入object類中的equals的方法:
public boolean equals(object obj)
和equals的區別和聯絡
總結的來說 1 對於 比較的是值是否相等 如果作用於基本資料型別的變數,則直接比較其儲存的 值 是否相等 如果作用於引用型別的變數,則比較的是所指向的物件的位址 2 對於equals方法,注意 equals方法不能作用於基本資料型別的變數,所有類從object類中繼承equals方法,比較的是是否是...
Java中 和equals的區別和聯絡
一 概念簡介 1 和equals比較運算子 要求兩個引用變數指向同一物件時才返回true,equals方法則允許使用者提供自定義的相等規則。2 object類提供的equals方法判斷兩個物件相等的標準與 完全相同。因此開發者通常需要重寫equals方法。二 號比較應用 1 示例 public cl...
和 區別和聯絡, 和 區別和聯絡
和 區別和聯絡,和 區別和聯絡,實際專案中,什麼情況用哪種?首先,和 的聯絡 共同點 和 都可以用作 邏輯與 運算子,都是雙目運算子。具體要看使用時的具體條件來決定。無論使用哪種運算子,對最終的運算結果都沒有影響。情況1 當上述的運算元是boolean型別變數時,和 都可以用作邏輯與運算子。情況2 ...