1.2 语法泛型方法 是在调用方法的时候指明泛型的具体类型。
【泛型方法 能够使方法独立于类的处理指定的类型。】
修饰符
返回值类型 方法名(形参列表){
。。。。。。
}
2.泛型方法的使用 2.1 普通泛型方法
- 修饰符与返回值类型中间的 泛型标识符
,是 泛型方法的标志,只有这种格式声明的方法才是泛型方法。 - 泛型方法声明时的 泛型标识符
表示在方法可以使用声明的泛型类型。 - 与泛型类相同,泛型标识符可以是任意类型,常见的如T,E,K,V 等。
- 泛型方法可以声明为 static 的,并且与普通的静态方法是一样的。
声明
public class GenericMethod {
//1.普通的泛型方法
public String commonMethod(String name,T t){
String res = "";
res += name +"-"+ t;
System.out.println("普通泛型方法 : "+res);
return res;
}
}
调用
public class GenericMethodApplication {
public static void main(String[] args) {
//1.调用普通泛型方法
GenericMethod genericMethod = new GenericMethod();
String commonRes01 = genericMethod.commonMethod("001", "bb");
System.out.println(commonRes01);
String commonRes02 = genericMethod.commonMethod("002", 100);
System.out.println(commonRes02);
String commonRes03 = genericMethod.commonMethod("003", true);
System.out.println(commonRes03);
System.out.println("==================");
}
}
运行结果
普通泛型方法 : 001-bb 001-bb 普通泛型方法 : 002-100 002-100 普通泛型方法 : 003-true 003-true ==================2.2 静态泛型方法
声明
public class GenericMethod {
//2.静态的泛型方法
public static String staticMethod(String name,T t,E e){
String res = "";
res += name +"-"+ t +"-"+ e;
System.out.println("静态泛型方法 : "+res);
return res;
}
}
调用
package com.northcastle.genericmethod;
public class GenericMethodApplication {
public static void main(String[] args) {
//2.调用静态泛型方法
String staticRes01 = GenericMethod.staticMethod("001", "aa", "bb");
System.out.println(staticRes01);
String staticRes02 = GenericMethod.staticMethod("002", 100, 'c');
System.out.println(staticRes02);
String staticRes03 = GenericMethod.staticMethod("003", 12.05d, false);
System.out.println(staticRes03);
System.out.println("==================");
}
}
运行结果
静态泛型方法 : 001-aa-bb 001-aa-bb 静态泛型方法 : 002-100-c 002-100-c 静态泛型方法 : 003-12.05-false 003-12.05-false ==================2.3 泛型方法中的可变参数
声明
public class GenericMethod {
//3.带可变参数的泛型方法
public void argsMethod(A ... args){
for (A arg : args) {
System.out.println(arg);
}
}
}
调用
package com.northcastle.genericmethod;
public class GenericMethodApplication {
public static void main(String[] args) {
//3.调用可变参数的方法
genericMethod.argsMethod(1,2,300,400,500,600);
System.out.println("==================");
}
}
运行结果
1 2 300 400 500 600 ==================3.完成
Congratulations!
You are one step closer to success!



