我想知道如何在没有 arraycopy 的情况下使用 byte[] 的一部分?
C 语言
char buf[100];
int i;
for (i = 0; i < 100; i += 10) {
proc(buf + i);
}
但是在Java中,
byte[] buf = new byte[100];
int i;
for (i = 0; i < 100; i += 10) {
proc(buf + i);
}
无效。
byte[] buf = new byte[100];
int i;
for (i = 0; i < 100; i += 10) {
byte[] temp = new byte[10];
System.arraycopy(buf, i, temp, 0, 10);
proc(temp);
}
仅有效。
但是,我不喜欢 arraycopy。
我该如何解决这个问题?
最佳答案
你总是可以扩展你的“proc”函数来接受 3 个参数,如下所示:
proc(byte[] a, int offset, int length)
这是在 Java 中模仿 C 数组功能的最佳方式。
关于java - 如何在没有 arraycopy 的情况下使用 byte[] 的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6340523/