Java中的'byte'类型

时间:2011-12-04 02:25:45

标签: java arrays byte

  

可能重复:
  Literal Syntax For byte[] arrays using Hex notation..?

我正在尝试创建一个大小为'1'的字节数组,用于保存字节0x0。在Java中,我可以这样做:

byte[] space = new byte[1];
space[0] = 0x0;

将十六进制值0x0转换为00000000的字节代表并将其存储在space[0]中吗?

2 个答案:

答案 0 :(得分:6)

  

将十六进制值0x0转换为其字节代表00000000并将其存储在空格[0]中吗?

在执行程序中,只有一个Java byte值为零的表示 - 整数零的8位2的补码表示--8个零位。

您是否将源代码中的数字文字表示为0(十进制)或00(八进制)或0x0没有任何区别。他们所有意味着完全相同。


所以 - 是的,您的代码符合您的期望。

更简单的一行版本是:

byte[] space = new byte[] {0};

byte[] space = {0};

甚至

byte[] space = new byte[1];

(最后一个依赖于Java字节数组默认初始化为全零的事实。)

答案 1 :(得分:1)

是的,这将完全符合你的想法。另请参阅此related question