toString(),使用平台默认的字符集,通过解码字节将缓冲区内容转换为字符串.而bos现缓冲区里的内容就是字符。bos不是字节,bos在调用write()这个方法时,是将指定的字节写入字节数组。等循环完成后,bos里面是一个byte数组。println(Object o)在调用时,会先调用String.valueOf(o)获取打印的对象的字符串值,然后先调用println(String)再调用print().所以你打印出来的bos是字符串。
毕老师写bos.toString()先将bos对象转换成字符串,在进行打印。就是直接调println(String)方法,提高了程序的效率。 |