1

我有一些源代码需要在 Java 5 下运行。不幸的是,该代码使用了仅在 Java 6 中引入的Arrays.copyOfRange函数。仅使用 Java 5 API 实现相同实用程序的最有效方法是什么?

4

3 回答 3

4

以下是来自 OpenJDK 的代码,供感兴趣的人使用:

public static byte[] copyOfRange(byte[] original, int from, int to) {
    int newLength = to - from;
    if (newLength < 0)
        throw new IllegalArgumentException(from + " > " + to);
    byte[] copy = new byte[newLength];
    System.arraycopy(original, from, copy, 0,
                     Math.min(original.length - from, newLength));
    return copy;
}
于 2011-11-01T17:58:27.740 回答
1

查看OpenJDK 6 页面- 它是开源 Java。您可以自己下载并阅读源代码,了解其实现方式,并手动将功能添加到应用程序中。

于 2011-11-01T17:48:06.613 回答
0

最快的方法是使用System.arraycopy. 这是 Arrays 类所做的,顺便说一句。

于 2011-11-01T17:57:42.403 回答