2012-06-23 63 views
1

可能重複:
How to convert List<Integer> to int[] in Java?轉換對象[]到int []錯誤

我有一個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 

你有想過這事?

回答

5

假設你原來的對象是Integer類的實例:

Integer[] element_rdv_id = ids_rdv.toArray(new Integer[0]); 
+0

謝謝!!它現在工作!但我仍然不明白你做了什麼? – Copernic

+1

只需'Integer'與'int'不是相同的數據類型。此外,如果您稍後需要此'Integer []'數組的任何值,您可能需要使用'element_rdv_id [i] .intValue()'而不是'element_rdv_id [i]'。 – Havelock

+0

謝謝@Havelock :)那麼'new Integer [0]'呢? – Copernic

1
incompatible types required: int[] found: java.lang.Object[] 

當你做ids_rdv.toArray(),它返回一個對象數組,不能分配給原始整型數組。

你需要得到Integer對象的手的陣列,所以寫這樣

Integer[] element_rdv_id = ids_rdv.toArray(new Integer[]); 
+0

謝謝艾哈邁德,我現在明白了,回覆upvoted;) – Copernic