System.out.println()中打印的内容都会默认调用toString()方法的。
new String(buf)是用字符串的构造函数将字节数组转换成字符串,再调用toString()方法,因为字符串的toString方法已经复写了Object类的方法,所以这里会打印字符串本身。
而buf.toString()和直接打印buf效果一样,因为数组这个类没有复写toString(),是调用了Object的toString()方法,打印的会是getClass().getName() + '@' + Integer.toHexString(hashCode())这样一个字符串。 |