toString重写:java中Object类是基类,所以每个类都会有toString()方法
String类重写了Object的toString方法,用于返回String的字符串值
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
由于Object类里的equals()方法比较的是两个对象地址值,所以没啥意义
所以我们自己写的自定义类,要重写equals方法,让它变得有意义
public boolean equals(Object obj) {
if(obj == this) {//如果传入的对象与当前对象一样时,直接返回true,不需要再进行比较
return true;
}
if(!(obj instanceof Person)) {//(instanceof 判断左边的对象是否为右边类的实例)如果传入的对象与Person不一样,直接返回false
return false;
}
Person p = (Person)obj;//向下转型
return this.name.equals(p.name) && this.age == p.age;
} |