将 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]);

【讨论】:

谢谢!!它现在有效!但我还是不明白你做了什么? 只是 Integerint 的数据类型不同。此外,如果您以后需要此 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

如何将object转换成int

java中如何将Object类型转换为int类型

C# - 将列表 System.Object[] 转换为列表 System.Int32[]

java中怎样将object类型转换成int 型

将Object转换为int而不进行舍入