自学内容网 自学内容网

java学习--object类方法--equals方法介绍

为真是因为改写了equals方法,判断值是否相等了

package com.equals.test01;

public class equals {
    public static void main(String[] args) {
        Person person = new Person("xaiomi", 19, "nv");
        Person person1 = new Person("xaiomi", 19, "nv");
        System.out.println(person1==person);//false
        System.out.println(person.equals(person1));//ture


    }


}
class Person{
    String name;
    int age;
    String sex;

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
    public boolean equals(Object objt)
    {
        if (this==objt)
            return false;
        if (objt instanceof Person)
        {
            Person p=(Person)objt;//因为,objt是顶层父类object类型的,无法直接访问子类特有的方法,所以要强制转换
            return this.name.equals(p.name)&&this.age==p.age&&this.sex.equals(p.sex);//判断当前的与传进来的对象属性是否都相同
        }

        return false;
    }
}

列题:

例题2

1.数值和数值相比一样就相等。

2.也有一样,A的ASCII值也是65

3.同样

4.这个时候比较的是地址是否一样,都是new的一个新的,所以不相同

5.str为字符串字符串的equals()方法改写了,所以相同

6.等号两边类型都不同所以对比不了,并且报错


原文地址:https://blog.csdn.net/qq_56798493/article/details/140558172

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!