2014-05-15 2 views
-1

이것은 혼란 스러울 수 있지만 int []가 포함 된 ArrayList를 만들고 싶습니다. int []가 객체로 간주 될지, 아니면 프리미티브와 동일한 방식으로 취급되고 값을 랩핑하고 언 래핑해야합니다. 예를 들면 :프리미티브 배열의 ArrayList를 만드는 방법

ArrayList<int[]> intArrays = new ArrayList<int[]>(); 

내가 ArrayList에 내가 그것을 멤버의 집합 금액이없는 싶습니다이며, 최대 값을 알 수없는 양을 가지고 사용하는 이유. 따라서 int [] []는 작동하지 않습니다. 위 내용이 유효한지 알아야합니다.

+0

int[]의 배열을 사용할 수 있습니다 위의 내용은 구문 적으로 유효합니다. 배열은 객체이므로 기본 배열로 일반 매개 변수로 전달할 수 있습니다. – Makoto

+2

시도해 보셨습니까? – Zavior

+0

배열은 객체입니다. –

답변

0

예, int[] 개의 요소가 포함 된 ArrayList을 사용할 수 있습니다.
int[]Object입니다. 네, 당신은 이것을 할 수 있습니다.

int[] x = {1,2,3}; 
System.out.println(x instanceof Object); 
+0

int []가 객체입니까? 무엇이든 배열은 객체입니다. –

+1

@ P.K 보급 예, 알고 있습니다. 그것은 내 진술의 일반화이다. 감사. –

0

당신은

ArrayList<ArrayList<Integer>> intArrays = new ArrayList<ArrayList<Integer>>(); 
2

당신은이 문제를 할 수 없다 사용해 볼 수 있습니다. 다음은 잘 컴파일 :

ArrayList<int[]> x = new ArrayList<int[]>(); 
    x.add(new int[10]); 

int[] 개체이며, 당신이 그것으로 당신이 클래스 이름 (Class a = int[].class)을 얻기 포함 객체로 할 수있는 모든 것을 할 수 있습니다.

0

예, 객체 인 배열을 포함하는 ArrayList를 가질 수 있습니다.

ArrayList<int[]> intArrays = new ArrayList<int[]>(); 
int[] arr = { 1,2,3 }; 
intArrays.add(arr); 


모든 어레이는 동일한 부품 타입의 모든 다른 배열 공유 연관된 클래스 오브젝트를 갖는다. 배열 형의 직접 슈퍼 클래스는 Object입니다.

현재 배열에 대한 자세한 내용을 확인할 수 있습니다 Arrays - Java Language Specification

0

당신은 INT 원시 형의 래퍼 클래스입니다 ArrayList<ArrayList<Integer>>를 사용할 수 있습니다 또는 예 객체

관련 문제