string的tostring方法有什么用


    public String toString() {
        return this;
    }

有什么用吗,返回本身,什么意思

img

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
    + "]";
}