重写object类中的equals方法

Posted 初学者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重写object类中的equals方法相关的知识,希望对你有一定的参考价值。

package equalsdemo;
/*
 * 重写object中的equals方法
 */
public class equalsdemo {
public static void main(String[] args) {
    person p1 = new person("zhangsan",54);
    person p2 = new person("zhangsan",54);
    if (p1.equals(p2)) {
        System.out.println("这两个对象相等!!!");
    }
    else {
        System.out.println("这两个 no 对象相等!!!");
    }
}
}
class person{
    private String name;
    private int age;
    public person(String name,int age){
        this.name = name;
        this.age = age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getAge() {
        return age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    //复写equals方法
    @Override
    public boolean equals(Object obj) {
        // TODO Auto-generated method stub
        //如果两个对象地址相等则相等
        if (this==obj) {
            return true;
        }
        //判断两个对象的值是否相等
        //把传递过来的obj向下转型
        person p = (person)obj;
        if (p.getName().equals(this.getName())&&p.getAge()==this.getAge()) {
            return true;
        }
        else {
            return false;
        }        
    }    
}

 

以上是关于重写object类中的equals方法的主要内容,如果未能解决你的问题,请参考以下文章

字符串类中的Object的equals方法和自定义类中的Object的equal方法之间有什么区别

java 集合中重写hashCode方法和重写equals方法啥关系?

java 重写Object中的hashCode方法-----转载

Object类中的常用方法

JAVA中Object类中的equals方法补充

equals方法