equals方法覆寫##
equals方法是Object超類的一個方法,由于超類是所以類的父類,自定義類均可覆寫equals方法。
equals方法覆寫步驟
1.判斷this與obj是否引用同一個對象
if(this == obj) return true;
2.判斷obj是否為null
if(obj == null) return false;
3.判斷this與obj是否屬于同一類
if(this.getClass() != obj.getClass()) return false;
*4.將obj轉(zhuǎn)換為相應(yīng)的類類型
ClassName other = (ClassName) obj;
5.判斷域(域)是否相同,基本數(shù)據(jù)類型使用==,對象域使用equals方法比較
return (field1 == other.field1 && field2.equals(other.feld2));
代碼
@Override
public boolean equals(Object obj) {
if (this == obj) return true;//檢測this與obj是否引用同一個對象
if (obj == null) return false; //檢測obj是否為null,如果為null,則返回false
if (this.getClass() != obj.getClass()) return false; //檢測this與obj是否屬于同一個類,這里使用getClass()方法取得類
Student other = (Student) obj; //強(qiáng)制將obj轉(zhuǎn)換為Student類
//判斷student的字段是否相等
return (field1 == other.field1 && field2.equals(other.feld2));
}