Javaで文字の配列としてエンコードされたCスタイルの文字列がありますが、この配列をJava文字列に変換したいと思います。一致するコンストラクター呼び出しを使用してみましたが、
String toRet = new String(new char[]{'B','A','D','\0', 'G', 'A', 'R', 'B', 'A', 'G', 'E'});
System.out.println(Arrays.toString(toRet.toCharArray()));
しかし、結果は正しくなく、実際には奇妙なことにバグがあります。上記のコードの出力は次のとおりです。
[B, A, D,
そして、これが私が欲しいものです
[B, A, D]
私はUbuntuのopenJdk6で実行しています。上記のコードを他のVMでテストしていません。