このように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();