java 中是否有任何指针功能可以传递字节数组?



我需要将一个字节数组分成 3 个部分并逐个处理它们

第一个 120 个数据数组填充了蓝牙设备读取请求的回调函数,所以我不可能更改

byte[] data = new byte[120];
------
byte[] buf = new byte[40];
for (int i = 0; i < 3; ++i) {
System.arraycopy(data, i * 40, packetBuffer, 0, 40);
processDataStream(buf);
}

如果在 c/c++ 中,我可以使用指针,因此无需调用 copy。 在Java中,arraycopy是最好的方法吗? 有没有更有效的方法? 提前致谢

在大多数情况下,您只需指定偏移量并将其提供给方法:

byte[] buf = new byte[40];
for (int i = 0; i < 3; ++i) {
processDataStream(buf, i * 40);
}

然后你只需要应用它:

processDataStream(byte[] buf, int offset) {
for (int i = offset; i < offset + 40; i++) {
...
}
}

最新更新