Java判断两个对象的属性是否相等
class Doctor{
private String name;
private int age;
private char gender;
private String job;
private double sal;
public Doctor(String name, int age, char gender, String job, double sal) {
super();
this.name = name;
this.age = age;
this.gender = gender;
this.job = job;
this.sal = sal;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getGender() {
return gender;
}
public void setGender(char gender) {
this.gender = gender;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public double getSal() {
return sal;
}
public void setSal(double sal) {
this.sal = sal;
}
public boolean equals(Object obj) {
if(this == obj){
return true;
}
if(!(obj instanceof Doctor)) {
return false;
}
Doctor doctor = (Doctor)obj;
return this.name.equals(doctor.name) && this.age == doctor.age
&& this.gender == doctor.gender && this.job == doctor.job
&&this.sal == doctor.sal;
}
}
public class Judge {
public static void main(String[] args) {
Doctor d1 = new Doctor("张飞", 20, '男', "送快递", 3000);
Doctor d2 = new Doctor("张飞", 20, '男', "送快递", 3000);
Doctor d3 = new Doctor("张飞", 20, '男', "送快递", 6000);
System.out.println("对象d1和d2属性是否相等?比较结果:"+d1.equals(d2));
System.out.println("对象d1和d1属性是否相等?比较结果:"+d1.equals(d1));
System.out.println("对象d1和d3属性是否相等?比较结果:"+d1.equals(d3));
}
}
运行: