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