我有一些源代码,我需要在Java 5下运行。不幸的是,代码使用Arrays.copyOfRange函数,该函数仅在Java 6中引入。仅使用Java实现相同实用程序的最有效方法是什么5 API?
答案 0 :(得分: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;
}
答案 1 :(得分:1)
查看OpenJDK 6 page - 它的开源Java。您可以自己下载和阅读源代码,了解它是如何实现的,并手动将功能添加到应用程序中。
答案 2 :(得分:0)
最快的方法是使用System.arraycopy
。这就是Arrays类BTW所做的。