我正在开发一个使用copyOfRange(byte[] original, int start, int end)中的Arrays.copyOfRange()方法的应用程序。

它仅在API 9及更高版本中引入。但是,我在某个地方读到了它内部使用的System.arraycopy(),它已在API 1本身中引入。

我的问题是,在Android中,使用Arrays.copyOfRange()System.arraycopy()有区别吗?如果我能够使用System.arraycopy(),它将对较低版本的API起作用吗???

另外,如果我能得到一些使用System.arraycopy()复制byteArray的示例代码。

问候。

最佳答案

Arrays.copyOfRange()只是System.arrayCopy()的一种便捷方法

public class ArraysCompat {
    public byte[] copyOfRange(byte[] from, int start, int end){
        int length = end - start;
        byte[] result = new byte[length];
        System.arraycopy(from, start, result, 0, length);
        return result;
    }
}

09-07 04:35