内容
隐藏
对比
User User1 = new User("ll",1);
User User2 = new User("ll",1);
System.out.println(User1.equals(User2));
User类有name和age两个属性。创建两个User的对象里面的属性一样,但是equals对比结果为false
因为User的默认父类Object中equals的是地址,我想要对比User的属性想要重写equals
重写equals
class User{
public String name;
public int age;
@Override
public boolean equals(Object obj) {
//判断是否对比的是同一个类
if(this == obj)
return true;
//判断值是否为空
else if(obj == null)
return false;
//判断是否是对比类型
else if (getClass() != obj.getClass())
return false;
//一个向下转型
User othis = (User) obj;
//对比age和name
return age==othis.age&&Objects.equals(name,othis.name);
}
public User(String name,ing age){
this.name=name;
this.age=age;
}
}