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