将盒装字节设置为字节文字时出错 - Java

时间:2017-05-29 05:41:38

标签: java arraylist byte

我将 ArrayList 定义为:

private static ArrayList<Byte> allocatedBytes;

显然我可以通过以下方式阅读每个元素:

byte toWrite = allocatedBytes.get(currentByteAddress);

但是,一旦我使用按位操作操作 toWrite 并尝试将其写回列表,编译器就会一直出错。

我试过了:

allocatedBytes.get(currentByteAddress) = toWrite;

allocatedBytes.get(currentByteAddress) = (Byte)toWrite;

allocatedBytes.get(currentByteAddress) = Byte(toWrite);

allocatedBytes.get(currentByteAddress) = new Byte(toWrite);

allocatedBytes.get(currentByteAddress) = Byte((byte)toWrite);

错误总是“预期变量”。我不明白这一点。

我的主要目标是在位级操作此字节。如果有一个更简单的方法,我会全力以赴。

2 个答案:

答案 0 :(得分:1)

这与字节,装箱或按位操作无关,它只是与你无法设置ArrayList的元素有关。你需要

 allocatedBytes.set(currentByteAddress, toWrite);

答案 1 :(得分:1)

您不能使用.get()操作为数组赋值。 .get()会返回一个值,这就是您遇到Variable expected错误的原因。

您可以使用set(index, value)方法设置值,例如:

allocatedBytes.set(currentByteAddress, toWrite);