为什么我将ArrayList转换为Integer []是错误的?

时间:2015-03-01 14:32:47

标签: java android arraylist integer

private ArrayList<Integer> list;
...
...
...
for (int i=0; i < list.size(); i++) {
                Log.e("downloadTask","resource ID is " + list.get(i));
            }
Integer[]  resourceId = resourceId= (Integer[])list.toArray();

在for()语句之前,列表已经初始化。它有三个要素; 日志消息是正确的,但运行时

Integer[]  resourceId = (Integer[]) list.toArray();

它将抛出异常。我不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

list.toArray()返回一个对象数组(Object[]),它们不能转换为整数数组(因为Object[]可以包含任何内容,例如String,{{ 1}},Boolean,不仅SpiderMan)。

尝试:

Integer

将来,请提供抛出的确切异常(并包括堆栈跟踪),以便人们更容易发现问题。