Java ByteBuffer から文字列への変換 質問する

Java ByteBuffer から文字列への変換 質問する

このようにByteBufferをStringに変換するのは正しい方法でしょうか?

String k = "abcd";
ByteBuffer b = ByteBuffer.wrap(k.getBytes());
String v = new String(b.array());

if(k.equals(v))
    System.out.println("it worked");
else
    System.out.println("did not work");

私が質問する理由は、これはあまりにも単純すぎるように見えるからです。Java: 文字列と ByteBuffer 間の変換および関連する問題より複雑に見えます。

ベストアンサー1

Andy Thomas が言及しているように、問題なくaByteBufferを a にデコードするより簡単な方法があります。String

String s = StandardCharsets.UTF_8.decode(byteBuffer).toString();

おすすめ記事