2012-06-23 4 views
1

가능한 중복 : 나는 정수의 배열로 변환 할 때 변환 개체 [] int로 [] 오류


How to convert List<Integer> to int[] in Java?

내가 가진 ArrayList 내가해야하기 때문에 정수와 관련된 작업을 수행 할 때 다음 오류가 발생합니다.

호환되지 않는 형식
필요한 : INT []
발견

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.lang.Object 상위 []

여기에 내 코드입니까?

답변

5

정수 클래스의 인스턴스는 원래 객체를했다 가정 : 당신이 ids_rdv.toArray()을 수행 할 때

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

감사합니다이 방법을 쓰기! 그것은 지금 일한다!! 그러나 나는 아직도 당신이 무엇을했는지 이해하지 못합니까? – Copernic

+1

단순히 '정수'는 'int'와 같은 데이터 유형이 아닙니다. 또한 나중에이 Integer [] 배열에서 값을 필요로한다면'element_rdv_id [i]'대신'element_rdv_id [i] .intValue()'를 사용해야 할 수도 있습니다. – Havelock

+0

감사합니다 @Havelock :)'new Integer [0]'은 어떨까요? – Copernic

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

, 그것은 원시 정수 타입의 배열에 할당 할 수 없습니다 객체의 배열을 반환합니다.

당신은 손에 정수 객체의 배열을 얻을 필요가, 그래서 그것을

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

감사합니다 아마드, 지금 이해, 대답 upvoted;) – Copernic