IT

메서드 호출에서 범용 인수를 명시적으로 지정하기 위한 Java-syntax

itgroup 2022. 11. 7. 21:30
반응형

메서드 호출에서 범용 인수를 명시적으로 지정하기 위한 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[] aT 배열을 반환합니다.따라서 동일한 인스턴스에서 일반적인 방법으로 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

반응형