将 Object[] 转换为 int[] 错误 [重复]
Posted
技术标签:
【中文标题】将 Object[] 转换为 int[] 错误 [重复]【英文标题】:Conversion Object[] to int[] error [duplicate] 【发布时间】:2012-06-25 16:02:39 【问题描述】:可能重复:How to convert List<Integer> to int[] in Java?
我有一个ArrayList
,当我尝试将其转换为整数数组时,因为我需要执行涉及整数的操作,我收到此错误:
不兼容的类型 必需:int[] 找到:java.lang.Object[]
这是我的代码:
List<Integer> ids_rdv = new ArrayList<Integer>();
// I execute an SQL statement, then :
while (resultat.next())
ids_rdv.add(resultat.getInt("id_rdv"));
int[] element_rdv_id = ids_rdv.toArray(); //Problem
你对此有什么想法吗?
【问题讨论】:
【参考方案1】:假设您的原始对象是 Integer 类的实例:
Integer[] element_rdv_id = ids_rdv.toArray(new Integer[0]);
【讨论】:
谢谢!!它现在有效!但我还是不明白你做了什么? 只是Integer
与 int
的数据类型不同。此外,如果您以后需要此 Integer[]
数组中的任何值,您可能需要使用 element_rdv_id[i].intValue()
而不是您所期望的 element_rdv_id[i]
。
谢谢@Havelock :) new Integer[0]
呢?
看看here
谢谢,这很有帮助:)【参考方案2】:
incompatible types required: int[] found: java.lang.Object[]
当您执行ids_rdv.toArray()
时,它会返回一个对象数组,该数组不能分配给原始整数类型数组。
手头需要得到一个Integer对象数组,所以这样写
Integer[] element_rdv_id = ids_rdv.toArray(new Integer[]);
【讨论】:
谢谢艾哈迈德,我现在明白了,回答赞成;)以上是关于将 Object[] 转换为 int[] 错误 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
pandas CSV 文件读取不会将数据类型从 object 转换为 int