equals()方法
- public boolean equals(Object obj){}
- 默认实现为(this == obj),比较两个对象地址是否相同。
- 可进行覆盖,比较两个对象的内容是否相同。
public class TestStudent{
public static void main(String[] args){
Student s1 = new Student("aaa", 20);
Student s2 = new Student("bbb", 22);
//equals方法:判断两个对象是否相等
System.out.println(s1.equals(s2));
}
}
@Override
public boolean equals(Object obj){
//1.判断obj是否null
if(this == obj){
return false;
}
//2.判断两个对象是否是同一个引用
if(this == obj){
return true;
}
//3.判断是否是同一个类型
//if(this.getClass() == obj.getClass()){
//
//}
//instanceof 判断对象是否是某种类型
if(obj instanceof Student){
//4.强制类型转换
Student s = (Student)obj;
// 5.比较熟悉
if(this.name.equals(s.getName()) && this.age == s.getAge()){
return true;
}
}
return false;
}