2017-03-07 1 views
1

우리는우리는 왜 ArrayList <ArrayList <Integer>>을 작성합니다. list = new ArrayList <>();

ArrayList<String> listname=new ArrayList<>; 

로 문자열의 새로운 ArrayList를 정의하지만, 우리가 정수에 대한 ArrayList를 정의해야 할 때, 우리는 왜

ArrayList<ArrayList<Integer>> list = new ArrayList<>(); 
+1

정수 목록은 실제로 ArrayList 으로 선언됩니다. ArrayList >는 정수 목록을 포함하는 목록을 선언합니다. – JimmyB

답변

0

이 줄 작성 -

ArrayList<ArrayList<Integer>> list = new ArrayList<>(); 

인을 이에 해당함 -

ArrayList<ArrayList<Integer>> list = new ArrayList<>(); 

Java Generics의 유형 유추 때문에.

유형 추론은 JVM이 컨텍스트에서 대상 제네릭 유형을 자동으로 유추 할 수있는 프로세스입니다. official Java Tutorial에서 -

형식 유추 호출 적용 할 유형 인수 (또는 인수)를 결정하는 자바 컴파일러의 각 방법 호출을 보는 능력과 상응하는 선언이다.

첫 번째 예에서는 새로 만든 ArrayList<>ArrayList<String> 참조로 지정합니다. 컨텍스트에서 Java 컴파일러는 new ArrayList<>의 유형 인수가 String이 될 것임을 판별 할 수 있습니다. 유사한 추론은 두 번째 예제에도 적용됩니다.

관련 문제