자바 8 언어 사양은 annotation type elements의 토론에 말한다 :Java 언어 사양 : 주석 형 메서드의 반환 형식으로 "클래스의 호출"
주석 형에 선언 된 메소드의 리턴 타입
... 클래스 또는 클래스의 호출 (§4.5) "클래스의 호출"을 의미 무엇
: 다음 중 하나 , 또는 컴파일 타임 오류가 발생을해야합니까? Class<Number>
과 같거나 그 이상입니까?
자바 8 언어 사양은 annotation type elements의 토론에 말한다 :Java 언어 사양 : 주석 형 메서드의 반환 형식으로 "클래스의 호출"
주석 형에 선언 된 메소드의 리턴 타입
... 클래스 또는 클래스의 호출 (§4.5) "클래스의 호출"을 의미 무엇
: 다음 중 하나 , 또는 컴파일 타임 오류가 발생을해야합니까? Class<Number>
과 같거나 그 이상입니까?
네, 맞습니다. 이 용어는 혼란스럽고 거의 사용되지 않으며 JSL의 어느 위치에서도 찾을 수 없습니다. 그래도, a tutorial에 있습니다
Box<Integer> integerBox;
:
당신의 코드 내에서 일반
Box
클래스를 참조하려면, 당신은 같은 정수와 같은 일부 콘크리트 값으로T
을 대체하는 제네릭 형식의 호출을 수행해야한다일반적인 형식 호출은 일반 메서드 호출과 비슷하다고 생각할 수 있지만 메서드에 인수를 전달하는 대신이 인수에
Integer
형식 인수를 전달합니다 ase -Box
클래스 자체.유형 매개 변수 및 유형 인수 용어 : 많은 개발자는 용어 "형식 매개 변수"와 "형식 인수"상호 교환 를 사용하지만이 용어는 동일하지 않습니다. 코딩 할 때 은 매개 변수화 된 형식을 만들기 위해 형식 인수를 제공합니다. 따라서
Foo<T>
에있는T
은 형식 매개 변수이며Foo<String> f
의 문자열은 형식 인수입니다. 이 레슨에서는이 용어를 사용할 때 이라는 정의를 준수합니다.다른 변수 선언과 마찬가지로이 코드는 실제로 새
Box
개체를 만들지 않습니다.integerBox
은 을 "Box
ofInteger
"으로, 이는Box<Integer>
을 읽는 것임을 나타냅니다.제네릭 형식 호출은 일반적으로 매개 변수화 된 형식으로 알려져 있습니다.