package ketangTest;
public class Person {
private int age;
private String name;
public Person(String name,int age) {
super();
this.age = age;
this.name = name;
}
public Person() {
super();
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Person [age=" + age + ", name=" + name + "]";
}
@Override
public boolean equals(Object obj) { // 在对象为空的情况下,为了提高效率就直接返回false,不再向下比较 if (obj == null) { return false; } // 在同一个对象的情况下,为了提高效率就直接返回true,不再向下比较 if (obj == this) { return true; } /* 判断是否同一个类型,若是则将obj向下转型(因为obj是Object类型的) * 然后再比较它们的内容是否相等 */ if (obj instanceof Person) { Person person = (Person) obj; if (this.name.equals(person.name) && this.age == person.age ) { return true; } } return false; }
}
/*-------------------------------测试类------------------------------------------------*/
package ketangTest; public class TestEquals { public static void main(String[] args) { Person person = new Person("小明", 2); Person person2 = new Person("小明", 2); Person person3 = null; Person person4 = person; System.out.println(person.equals(person3)); System.out.println(person.equals(person2)); System.out.println(person.equals(person4)); } }
转载请注明原文地址: https://ju.6miu.com/read-672865.html