Java 언어 사양의 정적 메서드 및 유형 매개 변수
-
21-12-2019 - |
문제
JLS 7에서 다음 문장에서 읽습니다.
모든 주변의 형식 매개 변수의 이름을 사용하는 것은 컴파일 타임 오류입니다. 클래스 메소드의 헤더 또는 본문의 선언.
그 의미를 설명 해주세요.
해결책
그것은 당신이 할 수 없다는 것을 의미합니다
class Test<T> {
static void f(T a) {
}
}
.
를해야합니다.
class Test<T> {
static <T> void f(T a) {
}
}
.
정적 메소드의 일반 유형은 클래스의 일반적인 유형 또는 다른 방법의 일반적인 유형과 독립적입니다.
그래서
와 같은 일을 할 수 있습니다.class Test {
static <A, B, C> void f(A a, B b, C c) {
}
}
. 제휴하지 않습니다 StackOverflow