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
或者另外的用法:(导入 Objects 类)
Objects.equals(Object a, Object b)
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
它不会抛出空指针异常