泛型方法
方法也可以被泛型化,不管此时定义在其中的类是不是泛型化的。在泛型方法中可以定义泛型参数,此时,参数的类型就是传入数据的类型。
-
泛型方法的格式:
- 无返回值的泛型方法
public <T> void test1(T t) { T t1 = t; System.out.println(t.toString()); }
- 有返回值的泛型方法
public <T> T test2(T t) { return t; }
- 形参为可变参数的泛型方法
public <T> void test3(T... t) {// T... t 可变参数的定义 for (T t1 : t) {//遍历可变参数 System.out.println(t); } }
- 静态方法的泛型方法
public static <T> void test4(T t) { System.out.println(t); }
注意
- 在类上定义的泛型,可以在普通的方法中使用
- 在静态方法中,不能使用类定义的泛型,如果要使用泛型,只能使用静态方法自己定义的泛型
- 泛型方法在调用之前没有固定的数据类型
- 在调用泛型方法时,传入的参数时什么类型,就会把泛型改为什么类型
- 泛型方法在调用时会确定泛型具体数据类型