重写equals方法
- 默认是比较两个对象得地址值是否相等,希望重写后比较地址值也可以比较属性值
- (1.判断地址值是否相等 2.判断参数对象是否为null 3.判断对象类型是否一致 4.比较对象得属性)
public class 0bject Demo4 {
public static void main (String[] args) {
Person p1=new Person();
pl.name=null;
p1.age=10;
p1.gender='女’;
Person p2=newPerson();
p2.name=null;
p2.age=10;
p2.gender='女’;
System.out.println(p1.equals(p2));
}
}
class Person{
String name;
int age;
char gender;
public boolean equals(Object obj){
if(this==obj){
return true;
}
if(obj==null){
return false;
}
if(this.getClass()!=obj.getClass()){
return false;
}
Person p = (Person)obj;
if(this.age!=p.age){
return false;
}
if(this.gender!=p.gender){
return false;
}
if(this.name==p.name||this.name!=null && this.name.equals(p.name)){
return true;
}
return flase;
}
}