为什么我将 ArrayList 转换为 Integer[] 是错误的?
Why I convert ArrayList to Interger[] is wrong?
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();
它会抛出异常。我不知道如何解决这个问题。
list.toArray()
returns 对象数组 (Object[]
),不能转换为整数数组(因为 Object[]
可以包含任何内容,例如 String
, Boolean
, SpiderMan
, 不只是 Integer
).
尝试:
list.toArray(new Integer[list.size()]); //will fill and return passed array
//with all elements from list
以后请提供抛出的确切异常(并包括堆栈跟踪),以便人们更容易发现问题。
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();
它会抛出异常。我不知道如何解决这个问题。
list.toArray()
returns 对象数组 (Object[]
),不能转换为整数数组(因为 Object[]
可以包含任何内容,例如 String
, Boolean
, SpiderMan
, 不只是 Integer
).
尝试:
list.toArray(new Integer[list.size()]); //will fill and return passed array
//with all elements from list
以后请提供抛出的确切异常(并包括堆栈跟踪),以便人们更容易发现问题。