JAVA中复写equals方法
Posted kuillldan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中复写equals方法相关的知识,希望对你有一定的参考价值。
一般说来,所有类都应该复写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)); } }
以上是关于JAVA中复写equals方法的主要内容,如果未能解决你的问题,请参考以下文章