문제

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) {
    }
}
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top