标签:
一般说来,所有类都应该复写Object中的equals方法。步骤大概分三步:
1) 判断两个对象地址是否一致
2)判断第二个对象是否为同一个子类实例
3)判断内容是否一致
class Person { public int age; public String name; public Person(int age, String name) { this.age = age; this.name = name; } public boolean equals(Object obj) { //第一步 判断两个对象地址是否一致 if(this == obj) return true; //判断第二个对象是否为同一个子类实例 if(!(obj instanceof Person)) return false; //判断内容是否一致 Person anotherOne = (Person)obj; if(this.name == null && anotherOne.name != null) return false; if(this.name.equals(anotherOne.name) && this.age == anotherOne.age) return true; return false; } } public class Hello { public static void main(String[] args) { Person p1 = new Person(18,"cherry"); Person p2 = new Person(18,"cherry"); System.out.println(p1.equals(p2)); } }
标签:
原文地址:http://www.cnblogs.com/kuillldan/p/5574087.html