泛型方法:静态与非静态

时间:2013-06-26 13:28:36

标签: java generics methods

直接来自this java教程:

  

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

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

3 个答案:

答案 0 :(得分:10)

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

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

非静态方法也可以使用封闭类的泛型类型参数,如下所示。这些不被视为通用方法;一个generic method is one that declares type parameters

class Example<T> {
     // Not a generic method!
     public void method(T param) { }
}

答案 1 :(得分:7)

对于任何通用方法都是如此。

public <T> T f() {
    return this.<T> f();
}

答案 2 :(得分:2)

对于所有泛型方法,该陈述都适用,因为这是泛型方法的非常定义 - generic method是声明类型参数的方法。