public class StudentsJudge {
public static void main(String[] args) {
Student s1 = new Student("Zhangsan",new Address("Shenzhen","Yuehai","100100"));
Student s2 = new Student("Zhangsan",new Address("Shenzhen","Yuehai","100100"));
System.out.println(s1.equals(s2));
}
}
class Student {
String name;
Address addr;
public Student() {
}
public Student(String name, Address addr) {
this.name = name;
this.addr = addr;
}
@Override // 自己定义的类要重写equals()
public boolean equals(Object obj) { // 向上转型 传入参数时为Object obj = new Student()
if(obj == null || !(obj instanceof Student)) return false;
if(this == obj) return true;
Student s = (Student)obj; // 向下转型
return this.name.equals(s.name) // String类型比较使用equals方法
&& this.addr.equals(s.addr); // 基本数据类型比较使用"==";引用数据类型比较使用equals方法
}
}
class Address {
String city;
String street;
String zipcode;
public Address() {
}
public Address(String city, String street, String zipcode) {
this.city = city;
this.street = street;
this.zipcode = zipcode;
}
@Override
public boolean equals(Object obj) {
if(obj == null || !(obj instanceof Address)) return false;
if(this == obj) return true;
Address a = (Address)obj;
return this.city.equals(a.city)
&& this.street.equals(a.street)
&& this.zipcode.equals(a.zipcode);
}
}
javase:判断student
最新推荐文章于 2024-10-01 09:29:45 发布