单元测试:设置带有毒屏障的字节数组。如果在测试框架中触摸了任何边框,则单元测试将失败,例如以下片段:
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);
如何获取实际位于原始字节数组内的子数组?
最佳答案
在 Java 中,byte[] 有一个 header ,其中包含它的最大长度。这意味着您无法获取子字节[],因为它不是对象。
你能做的就是使用 ByteBuffer
ByteBuffer bb = ByteBuffer.wrap(byteArray);
ByteBuffer portion = bb.position(10).limit(20).slice();
关于Java:对字节子数组的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35720772/