多分私はここで何か愚かなものを見落としているかもしれませんが、出力が一致しません。入力は、通常端子から読み出されるバイト[]配列を出力すると予期せぬ出力が発生する
System.out.println("test: " + new byte[] {0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,1});
結果
test: [[email protected]
を与える:ただし
rk: [[email protected]
、次のコードは:
String input = "0111001101";
String[] splits = input.split("");
rk1 = new byte[] { 0, 0, 0, 0, 0, 0,(byte) Integer.parseInt(splits[0]),(byte) Integer.parseInt(splits[1]),(byte) Integer.parseInt(splits[2]),(byte) Integer.parseInt(splits[3]),(byte) Integer.parseInt(splits[4]),(byte) Integer.parseInt(splits[5]),(byte) Integer.parseInt(splits[6]),(byte) Integer.parseInt(splits[7]),(byte) Integer.parseInt(splits[8]),(byte) Integer.parseInt(splits[9]) };
System.out.println("rk: " + rk1);
このコードは、結果を得ますしかし、常に2進数10桁でなければなりません。既にその場所でエラー処理が行われています。
バイトが左か右からパディングされているかどうかはわかりませんでしたので、手動で左にビットをパディングして合計16ビットにしました。多分その違いを引き起こしていたかもしれないと思った。まったく同じ出力を得ました。
私はここで何かが分かりませんか? Javadocsは本当に私をここでも助けてくれませんでした。
値[B @ 4b67cf4d'は、バイト配列の値ではなく、オブジェクト型とIDハッシュコードを表しています。あなたは何を達成しようとしていますか? @ジョン・クーゲルマン。 –
。いいですよ。それはそれほど簡単でした。 Javaを忘れてしまったことは、そのことについて敏感です。私は2年間でJavaを使用していないし、少し錆びています。ありがとうございます – Chris