>>793
BufferedReader.toSringが文字列表現を返すかどうかは
内部表現とはなんら関係ない。BufferedReaderはtoString()を
オーバーライドしていないのでObject$toString()が呼ばれる。
で、Object#toString()が返すのはVM上のメモリアドレスなんていう
不思議アイテムではなく、オブジェクトのハッシュコードを
16進表現したもの。ただそれだけ。

あとStringBuffer#toString()が文字列表現を返すのも
APIの仕様上バッファの中身に相当する文字列を
返すって決められてるからであって、内部が文字列かどうか
には関係が無い。