比较两个对象是否相等,equals方法默认的是比较其内存地址是否相等.
实际上应用的时候,有些时候需要比较对象的某个特征是否相同.
此时就需要重写 equals方法
public boolean equals(Object obj) {
if(obj==this){
return true;//如果内存地址相同.则相同
}
if(!(obj instanceof Student)){
return false; //比较是否为同一类型
}else{
Student stu=(Student)obj;
if(stu.name.equals(this.name) && stu.sid==this.sid){ //name和sid相同则认为这两个对象相同
return true;
}
}
return false;
}