Android Java.util.Arrays类

时间:2012-04-20 02:56:12

标签: java android arrays

这可能是一个有明显答案的问题。我只是看不到它,当有人向我明确指出时,它可能会感觉很小。

我在Eclair MR1级别使用Android,所以我的Android Manifest有:

<uses-sdk android:minSdkVersion="7" />

在我的MainActivity中,我有一个byte [],我想重新分配到更大的大小。

Java SE 6具有java.util.Arrays类,其中包含用于每种基本类型的静态方法。我可以在http://developer.android.com/reference/java/util/Arrays.html#copyOf%28byte[],%20int%29

的android文档中看到该类

这是我的代码:

    byte [] padToLength (byte[] plain) {

    try{
        byte[] plainpad2 = java.util.Arrays.copyOf(plain, plain.length+10);  //why won't this compile?
    } catch (Exception e) {

    }

但是当我使用它时,我在Eclipse中遇到了一个编译错误,说“类型Arrays的方法copyOf(byte [],int)是未定义的。

任何人都可以建议我做错了吗?

1 个答案:

答案 0 :(得分:1)

API级别7未定义

Arrays.copyOf(byte[], int)。在您提供的链接上,查看右上角,您会看到一个“按API级别过滤”的复选框。选择7会删除该方法。

为什么你还在使用数组呢?在Java中,除非遇到性能问题,否则几乎总是使用ArrayList。在这种情况下,您根本不必担心阵列的大小。如果您的函数必须接受byte[]参数,那么我建议您调用类似List<Byte> myList = Arrays.asList(plain)的内容。