java byte型の不思議 toString() と new String(byte)では出力が違う

       File testXmlFile = new File("test/Data.xml");
       byte[] contents = new byte[(int)testXmlFile.length()];
       
       DataInputStream input = new DataInputStream(new FileInputStream(testXmlFile));
       input.readFully(contents);
       input.close();
       //System.out.println(new StringReader(new String(contents)));
       //System.out.println(new String(contents));
       System.out.println(contents.toString());

こんなコード書いたけど、確認要に出力してみたら、

contents.toString()
では
[B@26a58b
と表示されて
new String(contents)
では
ちゃんとしたXMLの文字列が表示された

不思議だ。

contents.toString()

はアドレスを文字列にしただけかな?

調べてみる必要がある


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-11-21 (水) 23:11:09 (2340d)