//這條語句只是乙個優化。計算這個等式比乙個乙個地比較類中的域所付出的代價要小的多。
if (this == otherobject) return true;
//getclass
if(getclass != otherobject.getclass())
return false;
//instanceof
if(!(otherobject instanceof classname))
return false;
return field1 == other.field1
&& objects.equals(field2,other.field2)
&&···
如果在子類中重新定義equals
,就要在其中包含呼叫super.equals(other);
編寫乙個完美的equals方法的建議
顯示引數命名為otherobject 檢測this與other是否引用同乙個物件if this otherobject return true 檢測otherobject是否為nullif otherobject null return false 比較this與otherobject是否屬於同一類...
Java完美重寫equals 方法的建議
下面給出編寫乙個完美的equals方法的建議 1 顯式引數命名為otherobject,稍後需要將它轉換成另乙個叫做other的變數 2 檢測 this與otherobject是否引用同乙個物件 if this otherobject return true 3 檢測otherobject是否為 n...
JAVA中equals的編寫
下面是為實現乙個高質量equals方法的處方 1 使用 操作符檢查 實參是否為指向物件的乙個引用 2 使用instanceof操作符檢查 實參是否為正確的型別 3 把實參轉換到正確的型別。4 對於該類中的每乙個 關鍵 域,檢查實參中的域是否與當前物件中對應的域值匹配。數值可以直接使用 比較,例項可以...