public String toString() {
return this;
}
有什么用吗,返回本身,什么意思
String不需要调用toString()方法,String重写toString是因为Object类中存在默认的toString方法是getClass().getName() + "@" + Integer.toHexString(hashCode()),其重写只是为了返回字符串而已
但会自身,当前对象
用于内部调用 所以 你直接打印String 输出的是字符串 而不是对象 ,和普通对象想输出字符串 需要重写toString()一个道理
toString()将对象转换为字符串
如果没有重写该方法
默认返回值:
类全名@十六进制的hashCode值
直接输出对象时
会自动调用对象的toString()方法
public String toString() {
return getClass().getName()
+ "@" +
Integer.toHexString(hashCode());
}
重写toString方法
输出对象时返回更易读的信息
包含类名和成员属性等
一般用于测试
@Override
public String toString() {
return "User [name=" + name
+ ", age=" + age
+ "]";
}