Objects 类

1. toString 方法:

public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

类重写以输出属性和想要的信息

看其是否被重写,直接看输出类名,可否出现其相关属性内容

2. equals 方法

@Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person person = (Person) o;
        return age == person.age &&
                Objects.equals(name, person.name);
    }

类重写后的用法:可以直接将两个类的属性内容相互比较

其中 getClass 与 instanceof 效果相同  obj instanceof Person

其中 age = person.age 是因为 age 是 int 型,直接用 == 判断是否相等即可,而 String 类型保存的是索引值

或者另外的用法:(导入 Objects 类)

Objects.equals(Object a, Object b)

public static boolean equals(Object a, Object b) {
        return (a == b) || (a != null && a.equals(b));
    }

它不会抛出空指针异常,,注意这里是 || 或,当是 基本数据类型时,直接比较,引用类型,需要用 equals

原文地址:https://www.cnblogs.com/aoligei/p/12431187.html