반응형
메서드 호출에서 범용 인수를 명시적으로 지정하기 위한 Java-syntax
범용 Java 메서드의 유형 파라미터를 명시적으로 지정하기 위한 구문은 무엇입니까?
다음은 구문이 아닙니다.
<ArgType>genericMethod()
형식 인수는 에서와 같이 점 뒤에 와야 할 것 같습니다.
SomeClass.<ArgType>genericMethod()
this.<ArgType>genericMethod()
p.<ArgType>genericMethod()
super.<ArgType>genericMethod()
SomeClass.super.<ArgType>genericMethod()
SomeClass.this.<ArgType>genericMethod()
Java 사양에 따르면 다음과 같습니다.
Collections.<String>unmodifiableSet()
(자신의 질문에 대답해서 죄송합니다.이것을 세 번째 검색했을 뿐입니다.
의 좋은 예java.util.Collection
독자적인 범용 타입을 정의하는 범용 메서드를 지정하는 경우는, 메서드의 시그니처가 다음과 같이 됩니다.
<T> T[] toArray(T[] a);
그러면 파라미터에 의해 메서드콜에 정의되는 범용 타입 T가 선언됩니다.T[] a
T 배열을 반환합니다.따라서 동일한 인스턴스에서 일반적인 방법으로 toArray 메서드를 호출할 수 있습니다.
Collection<Integer> collection = new ArrayList<Integer>();
collection.add(1);
collection.add(2);
// Call generic method returning Integer[]
Integer[] ints = collection.toArray(new Integer[]{});
// Call generic method again, this time returning an Number[] (Integer extends Number)
Number[] nums = collection.toArray(new Number[]{});
범용 타입 파라미터에 대한 Java 튜토리얼도 참조해 주세요.
언급URL : https://stackoverflow.com/questions/3012781/java-syntax-for-explicitly-specifying-generic-arguments-in-method-calls
반응형
'IT' 카테고리의 다른 글
다른 Python 파일을 Import하려면 어떻게 해야 하나요? (0) | 2022.11.08 |
---|---|
동일한 조건이 sql의 레코드에 나타날 때까지 행 값을 가져옵니다. (0) | 2022.11.07 |
데이터베이스 테이블에는 프라이머리 키가 없을 수 있습니까? (0) | 2022.11.07 |
JavaScript의 키 값을 기반으로 어레이 내의 객체 검색 및 삭제 (0) | 2022.11.07 |
NN 및 MySQL이 잘릴 수 있는 기타 특수 문자 (0) | 2022.11.07 |