toString 和new String()区别

时间:2023-03-09 19:44:55
toString 和new String()区别

public class NewStringTestDemo {
public static void main(String[] args) {
String s = "你好";
byte[] b = {'a','b','c'};
System.out.println(s.toString());   //你好

System.out.println(new String(s));  //你好

System.out.println(b.toString());  //[B@15db9742
System.out.println(new String(b));    // abc
}
}

toString 若未重写,在object类中,返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())