2013-12-08 4 views
0

무엇이 ArrayList<String> list1 = new ArrayList<String>();을 이해하지만 어떤 부분이 매개 변수화 된 유형이라고 부릅니까?매개 변수가있는 형식은 무엇입니까?

할당 연산자의 왼쪽에 유형 변수가 있거나 오른쪽에 생성자가 있습니까? 매개 변수화 된 유형이라고 말하면, 예 : ArrayList<String>()과 같이 대괄호 안에 매개 변수화 된 유형을 정의 할 때 생성되는 방식을 의미합니까?

왜냐하면 내가 알고 있기 때문에 일반 List = new List()에는 parameterize 유형이 없습니다.

질문 : 어떤 부분이 매개 변수화 된 유형입니까? 왼쪽 또는 오른쪽 : ArrayList<String> list1 or new ArrayList<String>();

답변

5

type은 클래스, 인터페이스, 배열 또는 열거 형입니다 (물론 기본 요소도 있지만 여기서는 적용되지 않습니다).

매개 변수화 된 유형은 제네릭을 사용하여 선언 된 유형 중 하나입니다. 예를 들어,

public class MyCustomGenerics<T,E> { 
    ... 
} 

MyCustomGenerics은 매개 변수화 된 유형입니다.

따라서 ArrayList은 매개 변수화 된 유형입니다. 그것은

ArrayList<String> list1 = new ArrayList<String>(); 

String에서

public class ArrayList<E> extends AbstractList<E> 
     implements List<E>, RandomAccess, Cloneable, java.io.Serializable 
{ 

로 선언하는 형식 인수입니다.

+0

이 답변을 받아 들여야합니다. Sotirios가 명확하게 설명했습니다! – Keerthivasan

관련 문제