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()语句之前,list已经被初始化了。它具有三个要素; 日志消息是正确的,但是运行时
Integer[] resourceId = (Integer[]) list.toArray();
它会抛出异常。我不知道如何解决这个问题。
最佳答案
list.toArray()
返回一个对象数组 (Object[]
),该数组无法转换为整数数组(因为 Object[]
可以包含任何内容,例如 String
、Boolean
、SpiderMan
,而不仅仅是 Integer
)。
尝试:
list.toArray(new Integer[list.size()]); //will fill and return passed array
//with all elements from list
将来,请提供抛出的确切异常(并包括堆栈跟踪),以便人们更容易发现问题。
关于java - 为什么我将 ArrayList 转换为 Integer[] 是错误的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28794712/