從原始碼可以看得出來,預設父類object類的equals方法底層還是跟"=="一樣,比較的是位址值,而比較兩個物件的位址是沒有意義的,一般都是比較物件的成員是否相等.public
boolean
equals
(object obj)
當父類方法無法滿足子類需要的時候,需要重寫
(1)至於怎麼重寫,我們可以先觀察一下string類中的equals方法,觀察string類中的equals方法的原始碼:
(2)重寫:可以自動生成public
boolean
equals
(object anobject)
//先判斷是否是string類,如果不是,就直接返回false,提高了
//安全性,也提高了效率
if(anobject instanceof
string
)return
true;}
}return
false
;}
快捷方式:
idea:alt+ins
eclpise:alt+shift+s 再按h
Object類中的方法
hashcode 用於獲取物件的雜湊值,這個值的作用是檢索,具體的作用可以參考這裡 雜湊值相同的物件不一定equale equals 返回true的兩個物件一定相同。class package.name.在使用的時候要求在synchronize語句中使用 wait 用於讓當前執行緒失去操作許可權,當...
Object類中的常用方法
1 public int hashcode 返回該物件的雜湊碼值 雜湊碼值是根據位址值換算出來的乙個值,不是實際的位址值 2 public final class getclass 返回此object的執行時類 class類的方法 public string getname 以string的形式返回...
object類中的equals 方法
equals 用於數值與數值和物件與物件的比較 boolean a 要進行比較的乙個物件.equals 另乙個物件 equals方法的原碼 public boolean equals object obj 關於this,這裡誰呼叫的equals方法,這個this就是誰的,obj就是被比較的的那個的物...