【问题标题】:Conversion Object[] to int[] error [duplicate]将 Object[] 转换为 int[] 错误 [重复]
【发布时间】: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

你对此有什么想法吗?

【问题讨论】:

    标签: java arraylist type-conversion toarray


    【解决方案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[]);
    

    【讨论】:

    • 谢谢艾哈迈德,我现在明白了,回答赞成;)
    猜你喜欢
    • 1970-01-01
    • 2020-07-03
    • 2022-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    相关资源
    最近更新 更多