不能使用Arrays.copyOfRange

aez*_*aez 7 eclipse android

我似乎无法在Eclipse Indigo 3.7.1的Android项目中访问Arrays.copyOfRange在Ubuntu 11.10上.

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

例如,如果我有这个代码:

int[] debug = new int[5];
int[] x = Arrays.copyOfRange(debug,0,4);
Run Code Online (Sandbox Code Playgroud)

Eclipse告诉我

copyOfRange(int[], int, int)类型的方法未定义Arrays

我不明白,因为Android参考Arrays包含这种方法用于数组.

有任何想法吗?

sla*_*ton 7

Arrays.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
Run Code Online (Sandbox Code Playgroud)

  • 直到API级别9,才会将`copyOfRange`方法引入到android sdk中.如果要使用这些方法,则必须相应地配置API级别.您也可以编写自己的数组复制方法. (2认同)