public class Equal {
public static void main(String[]args) {
Animal a=new Animal(10,"狗");
Animal a1=new Animal(10,"狗");
System.out.print(a.equals(a1));
}
}
class Animal {
private int age;
private String name;
public Animal(){}
public Animal(int age, String name) {
this.age = age;
this.name = name;
}
public void setAge(int age) {
this.age=age;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object obj) {
if(this==obj) {//是同一个堆
return true;
}
if(obj==null) {//被比较对象为空无法比较
return false;
}
if(this.getClass()!=obj.getClass()) {//不是一个类,即使是子类也不行
return false;
}
Animal a=(Animal)obj;//强转为同一个类
return this.age==a.age&&this.name.compareTo(a.name)==0;
}
}
重写equals
最新推荐文章于 2023-06-25 17:16:31 发布