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转换为相应的类类型
ClassName other = (ClassName) obj;
5.判断域(域)是否相同,基本数据类型使用==,对象域使用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; //强制将obj转换为Student类
//判断student的字段是否相等
return (field1 == other.field1 && field2.equals(other.feld2));
}