3 回答

TA貢獻1821條經(jīng)驗 獲得超6個贊
一個字回答:this
boolean check(Object someObject) {
return someObject == this;
}
這將僅測試對象標(biāo)識。您應(yīng)該覆蓋等于并使用它。
if (one.equals(two)) {
// ...
}

TA貢獻1813條經(jīng)驗 獲得超2個贊
您可以在內(nèi)部使用該方法并檢查boolean check(Object o)
SomeClass
boolean check(Object o) { this == (SomeClass) o; }
僅當(dāng)兩個引用變量都指向同一對象時,這才有效。此外,檢查兩個對象是否有意義相等的正確方法是使用繼承的相等和哈希碼方法。
重寫和方法。equals
hashCode
https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-

TA貢獻1865條經(jīng)驗 獲得超7個贊
所以你所要求的實際上已經(jīng)在java.lang.Objects類中有一個命令來與對象進行比較。
one.equals(two)
這樣做的比較稱為淺層比較。因此,如果這是您要做的事情,那么這將起作用。作為參考,geeksforgeeks.org 定義的淺層比較的定義是
淺層比較:equals方法的默認(rèn)實現(xiàn)是在Java.lang.Object類中定義的,它只是檢查兩個對象引用(例如x和y)是否引用同一個對象。即它檢查 x == y。由于 Object 類沒有定義其狀態(tài)的數(shù)據(jù)成員,因此也稱為淺層比較。
如果你想做一個更復(fù)雜的比較,你最好的選擇是實際覆蓋一個類文件中的 equals 命令
本文將是開始了解有關(guān)此主題的更多信息的好地方。https://www.geeksforgeeks.org/equals-hashcode-methods-java/
添加回答
舉報