10

直接来自这个java教程:

对于静态泛型方法,类型参数部分必须出现在方法的返回类型之前。

非静态泛型方法不是这样吗?如果不是什么是非静态泛型方法语法?提前致谢。

4

3 回答 3

12

声明非静态泛型方法的语法与静态方法相同,只是没有static关键字:泛型类型参数放在返回类型之前。

class Example {
     public <E> void method(E param) { }
}

非静态方法也可以使用封闭类的泛型类型参数,如下所示。这些不被视为通用方法;泛型方法是声明类型参数的方法。

class Example<T> {
     // Not a generic method!
     public void method(T param) { }
}
于 2013-06-26T13:31:53.837 回答
7

对于任何泛型方法都是如此。

public <T> T f() {
    return this.<T> f();
}
于 2013-06-26T13:31:07.983 回答
2

该声明适用于所有泛型方法,因为这正是泛型方法的定义——泛型方法是声明类型参数的方法。

于 2013-06-26T22:25:16.850 回答