Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android can';t使用Arrays.copyOfRange_Android_Eclipse - Fatal编程技术网

Android can';t使用Arrays.copyOfRange

Android can';t使用Arrays.copyOfRange,android,eclipse,Android,Eclipse,在我的Android项目中,在Ubuntu11.10上的EclipseIndigo3.7.1中,我似乎无法访问Arrays.copyOfRange 我的JRE是java-6-openjdk,我认为它包括Arrays.copyOfRange 例如,如果我有以下代码: int[] debug = new int[5]; int[] x = Arrays.copyOfRange(debug,0,4); 日食告诉我 未为类型数组定义方法copyOfRange(int[],int,int) 我不明白,因

在我的Android项目中,在Ubuntu11.10上的EclipseIndigo3.7.1中,我似乎无法访问Arrays.copyOfRange

我的JRE是java-6-openjdk,我认为它包括Arrays.copyOfRange

例如,如果我有以下代码:

int[] debug = new int[5];
int[] x = Arrays.copyOfRange(debug,0,4);
日食告诉我

未为类型
数组定义方法
copyOfRange(int[],int,int)

我不明白,因为Android参考包括了数组的这种方法


有什么想法吗?

Arrays.copyOfRange已通过Java 6引入Arrays类。Android基于Java5。您不能在Android上使用Java 6方法或类。

该方法
数组。copyOfRange()
直到API级别
9
才引入。确保将其作为最低SDK使用

此外,您的索引不正确。在java中,如果您有一个大小为
5
的数组,则索引范围为
0->4

将代码更改为:

int[] debug = new int[5];
int[] x = Arrays.copyOfRange(debug,0,4); // use 4 instead of 5

如果您需要使用早于9的API,则会在API级别1中添加System.arraycopy和Math.min,以便您可以复制copyOf函数并在代码中使用它

public static byte[] copyOf(byte[] original, int newLength) {
    byte[] copy = new byte[newLength];
    System.arraycopy(original, 0, copy, 0,
                     Math.min(original.length, newLength));
    return copy;
}

伊克斯,a-1。如果你是-1选民,请解释一下。谢谢。@slayton好的,我添加了一些代码。请重新考虑-1票。谢谢。谢谢Stefan,但我不明白为什么它会被包含在Android参考网页中,如果它在Android文档中,那么它就受到Dalvik VM的支持,但是它可能不会出现在所有API中levels@slaton:谢谢,我已经更改了示例中的代码,但问题是该方法甚至无法识别,无论我使用什么值,
copyOfRange
方法直到API级别9才引入android sdk。如果您想使用这些方法,您必须相应地配置API级别。您也可以简单地编写自己的数组复制方法。谢谢,现在我明白了。我认为这并不是一个明显的解决方案,而且这个问题不再需要投票了,所以请考虑投票。我忘了提:我不知道这是如何工作的,但是你应该把你的答案的文字更新到你在评论中提到的API水平,这样我就可以接受它了吗?谢谢。@aez好的,我把它添加到了答案中