我将 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);
错误总是“预期变量”。我不明白这一点。
我的主要目标是在位级操作此字节。如果有一个更简单的方法,我会全力以赴。
答案 0 :(得分:1)
这与字节,装箱或按位操作无关,它只是与你无法设置ArrayList
的元素有关。你需要
allocatedBytes.set(currentByteAddress, toWrite);
答案 1 :(得分:1)
您不能使用.get()
操作为数组赋值。 .get()
会返回一个值,这就是您遇到Variable expected
错误的原因。
您可以使用set(index, value)
方法设置值,例如:
allocatedBytes.set(currentByteAddress, toWrite);