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

标签 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()语句之前,list已经被初始化了。它具有三个要素; 日志消息是正确的,但是运行时

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

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

最佳答案

list.toArray() 返回一个对象数组 (Object[]),该数组无法转换为整数数组(因为 Object[] 可以包含任何内容,例如 StringBooleanSpiderMan,而不仅仅是 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/

相关文章:

android - 读取和写入文件

android - 如何在android中将url加载到webview时显示进度?

java - 为什么我无法像 Google Analytics Android 示例代码中那样导入 Tracker 类?

java - 为什么我的 ListView 只显示 ArrayList 的一项?

java - 如何在 Java 中设置本地服务器以进行流式传输?需要建议

java - 从文件中读取 Java 属性组

java - 对象的 ResultSet 和 ArrayList 不起作用

java - 网络钓鱼扫描程序帮助

java - 为什么 Java 中的 contains() 方法不能按预期工作?

java - 无法在方法中添加到 arrayList