Object 類中 equals和toString() 方法

equals方法:測試一個對象是否同另一個對象相等, 就像”=” 就是判斷兩個對象是否指向一個內存區域.(一般不用 ) 一般我們都重載這個方法.
java要求equals方法有如下性質:
1: 自反性 x.equals(x) ;// return true;
2: 對成性 if x.equals(y) return true, then y.equals(x) return true.
3: 傳遞性 x.equals(y) ,y.equals(z) => x.equals(z);
4: 一致性 如果x y引用的對象沒有改變 x.equals(y)返回結果不變;
5: 對於任何空引用x.equals(null) 應該返回false;

所以 寫 equals方法的 建議:
1>先不調用otherObject 先把它轉換成另一個作other的變量.
2>測試this是否同otherObject相等;
if (this==otherObject) return true;
3>測試otherObject是否爲空
if(otherObject==null) return false;
4>測試this同otherObject是否屬於用一個類
if(getClass()!=otherObject.getClass()) return false
5>把otherObject轉換成爲你的類的類型;
other=(Your Class)otherObject
6>比較所有字段
return field1==other.field1
&& field2==other.field2
&& ...

toString 返回一個代表該對象的字符串 例如Point 的方法返回如下字符串
java.awt.Point[x=10,y=20]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章