Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

getBytes()について

下記のことで困っていますので、ご指導ください。

---------------------------------------------------
String str = "abcde";
for(int i=0; i<3; i++) {
    byte[] byteData = str.getBytes("8859_1");
    System.out.println("ByteData : " + byteData);
}
---------------------------------------------------

というようなコードを実行したとき、
出力される「byteData」の部分が
実行する度に異なる値となります。
getBytes()のcharsetを"Shift_JIS","EUC-JP","UTF-8"
に変えてみても同様な結果となります。

これはこういうものなのでしょうか。
それとも同じ値となるやり方がありますでしょうか。

勘違いな事を聞いていましたらごめんなさい。
よろしくお願いいたします。

2

回答

4637

閲覧

2件の回答

評価

0

毎回byteDataは新しく作られるので、配列という「モノ」自体が違うので、System.out.printlnにそのまま渡すと違う出力結果になります。
配列の要素を出したいなら、ちゃんとひとつずつ出してください。

評価

0

mioさん、ありがとうございました。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。