java简单判断两个对象相等

来源:互联网 发布:淘宝不包邮设置 编辑:程序博客网 时间:2024/06/06 06:51
import java.util.*;
import java.lang.*;
public class PersonTest
{
    public static void main(String[] args)
    {
        Person a2 = new Person("zxw0", 23);
        Person a3 = new Person("zxw0", 23);
        String ans = Boolean.toString(a2.equals(a3));
        System.out.printf(ans + "\n");


        Student a4 = new Student("zwx1", 31, "hello");
        Student a5 = new Student("zwx1", 31, "hello");
        String ans2 = Boolean.toString(a4.equals(a5));
        System.out.printf(ans2);


    }
}
class Person
{


    private String name;
    private int age;


    public Person(String name, int age)
    {
        this.name = name;
        this.age = age;
    }


    public String getName()
    {
        return name;
    }


    public int getAge()
    {
        return age;
    }


    @Override public boolean equals(Object otherobject)
    {
        if(this == otherobject) return true;
        if(otherobject == null) return false;


        if(this.getClass() != otherobject.getClass()) return false;


        Person Per = (Person) otherobject;
        return Objects.equals(name, Per.name) && (this.age == Per.age);
    }


}


class Student extends Person
{
    private String major;


    public Student(String name, int age, String major)
    {
        super(name, age);
        this.major = major;
    }


    public boolean equals(Object  otherobject)
    {
        if(!super.equals(otherobject)) return false;
        Student std = (Student) otherobject;
        return Objects.equals(this.major, std.major);
    }
}



原创粉丝点击