码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA中复写equals方法

时间:2016-06-10 20:27:15      阅读:352      评论:0      收藏:0      [点我收藏+]

标签:

一般说来,所有类都应该复写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方法

标签:

原文地址:http://www.cnblogs.com/kuillldan/p/5574087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!