一开始看到泛型方法的时候是蒙蔽的- -完全忘记了自己学过并写过类似的代码
不过是否拥有泛型方法,与其所在的类是否是泛型没有关系。
作用:
泛型方法使得该方法能够独立于类而产生变化。
以下是一条基本的指导原则:无论何时只要你能做到,你就应该尽量使用泛型方法。对于一个static的方法而言,无法访问泛型类的类型参数,所以,如果static方法需要使用泛型能力,就必须使其成为泛型方法。如何定义泛型方法:
要定义泛型方法,只需要将泛型参数列表置于返回值之前。
以下是一个简单的程序 package 泛型方法;public class GenericMethods{
public <T> void f(T x){ //泛型方法 System.out.println(x.getClass().getName()); } public static void main(String[] args){ GenericMethods gm=new GenericMethods(); gm.f(""); gm.f(0); gm.f(0.1); gm.f(1.0F); gm.f('a'); gm.f(gm); } } //output java.lang.String java.lang.Integer java.lang.Double java.lang.Float java.lang.Character 泛型方法.GenericMethods此代码中GenericMethods并不是参数化,尽管这个类和其内部的方法可以被同时参数化,但是在这个例子中,只有方法f()拥有类型参数。这是由该方法的返回类型(该代码中为void)前面的类型参数列表指明的。
注意:
当使用泛型类时,必须在创建对象的时候指定类型参数的值,而使用泛型方法的时候,通常不必指明参数类型。