单元测试:使用毒物屏障设置字节数组。如果在测试框架中触摸了任何边界,则单元测试将失败,例如在以下片段中:
byte[] memory = new byte[Size + 2];
/* Poison barriers. Failure in case of touch! */
memory[0] = 0x5A;
memory[Size-1] = 0xA5;
...
array = sub-array of memory[] from '1 to Size-2'
test functions on array
...
/* Check if boarders have been touched. */
hwut_verify(memory[0] == 0x5A);
hwut_verify(memory[Size-1] == 0xA5);
我怎样才能获得实际位于原始字节数组内的子数组?
答案 0 :(得分:2)
在Java中,byte []有一个包含它最大长度的标题。这意味着您无法获得子字节[],因为它不是一个对象。
你可以做的是使用ByteBuffer
ByteBuffer bb = ByteBuffer.wrap(byteArray);
ByteBuffer portion = bb.position(10).limit(20).slice();