我已经声明了一个字节数组(我在使用Java):
byte test[] = new byte[3];
test[0] = 0x0A;
test[1] = 0xFF;
test[2] = 0x01;
我该如何打印存储在数组中的不同值?
如果我使用System.out.println(test[0]),它会打印“10”。我想要打印0x0A。
谢谢大家!
System.out.println(Integer.toHexString(test[0]));
或者 (漂亮打印)
System.out.printf("0x%02X", test[0]);
OR (漂亮打印)
System.out.println(String.format("0x%02X", test[0]));
for (int j=0; j<test.length; j++) {
System.out.format("%02X ", test[j]);
}
System.out.println();
byte test[] = new byte[3];
test[0] = 0x0A;
test[1] = 0xFF;
test[2] = 0x01;
for (byte theByte : test)
{
System.out.println(Integer.toHexString(theByte));
}
注意:test[1] = 0xFF; 这不会编译通过,因为你不能将255(FF)放入一个字节中,Java会想使用int类型。
你可以尝试这样做...
test[1] = (byte) 0xFF;
如果我在我的IDE附近,我会进行测试(如果我在我的IDE附近,我就不会在Stackoverflow上了)
System.out.printf
可能是最好的选择。 - abyxInteger.toHexString
将打印10
而不是0x0A
。 - Anirban Nag 'tintinmj'