public <T> 这个T是个修饰符的功能,表示是个泛型方法,就像有static修饰的方法是个静态方法同样。测试
<T> 不是返回值,表示传入参数有泛型spa
public static <T>list<T> aslist(T...a) code
第一个表示是泛型方法,第二个表示返回值是list类型,而这个list有泛型,只能存t类型的数据get
public <T> void fromArrayToCollection(T[] a, Collection<T> c){ for(T t : a){ c.add(t); } } public void fromArrayToCollection(T[] a, Collection<T> c){ for(T t : a){ c.add(t); } }
第一个方法至关于为该方法声明了一个类型为T的类,这个方法放到任意一个类中都不会报错的。io
第二个方法至关于没有声明类型为T的类,这时必须在类上面加上泛型T,否则这个方法会报错的。class
package generic; /** * 泛型方法测试 * * @author caiyu * */ public class GenMethod { public static <T> void display(T t) { System.out.println(t.getClass()); } }
首先,泛型的声明,必须在方法的修饰符(public,static,final,abstract等)以后,返回值声明以前。泛型
而后,和泛型类同样,能够声明多个泛型,用逗号隔开。方法