java - 如何在没有 arraycopy 的情况下使用 byte[] 的一部分?

标签 java byte

我想知道如何在没有 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/

相关文章:

javascript - 如何在 JavaScript 中将一个字节(8 位)转换为有符号整数?

c++ - C 风格的字符数组——我们存储多少字节?

java - 如何将具有 70 个字段的 java 对象发送到具有相同字段数的对象的 pl sql 过程

java - 使用同一对象的线程池

java - 在 Java 的 Arraylist 中创建 Arraylist

java - Maven - 如何使用多个版本的依赖项?

java - 如何查找 url 是 utf-8 还是 utf-16

c# - 如何检查结构消耗的字节数?

c# - 在 C# 中处理大文件

iphone - 将 UIImage 转换为字节