格式:修饰符<类型> 返回值类型 方法名(类型 变量名){...}
范例:public<T> void show(T t){...}
示例代码:
Meite.java
package com.collection.Demo05;
/**
* 泛型方法
* 问题:相同参数的方法重载
* 解决:泛型方法
*/
//public class Meite<T> {
//方式1:show()重载
// public String show(String str){
// return str;
// }
// public Integer show(Integer integer){
// return integer;
// }
// public Boolean show(Boolean b){
// return b;
// }
// public Double show(Double d){
// return d;
// }
//方式2:优化,定义了一个泛型类public class Meite<T> {,但下面不是泛型方法
// public T show(T t) {
// return t;
// }
//}
// 方式3:优化,使用泛型方法
public class Meite {
public <T> T show(T t) {
return t;
}
}
Test03.java
package com.collection.Demo05;
public class Test03 {
public static void main(String[] args) {
//方式1:show()重载
// Meite meite = new Meite();
// String string = meite.show("mayiky");
// System.out.println(string);
// Integer integer = meite.show(10);
// System.out.println(integer);
// Boolean b = meite.show(true);
// System.out.println(b);
// Double aDouble = meite.show(10.0);
// System.out.println(aDouble);
//方式2:优化,定义了一个泛型类 但是下面的代码每次使用一个类型都需要new,还是冗余
// Meite<String> stringMeite = new Meite<>();
// String string = stringMeite.show("mayikt");
// System.out.println(string);
//
// Meite<Integer> integerMeite = new Meite<>();
// Integer integer = integerMeite.show(10);
// System.out.println(integer);
//
// Meite<Boolean> booleanMeite = new Meite<>();
// Boolean b = booleanMeite.show(true);
// System.out.println(b);
//
// Meite<Double> doubleMeite = new Meite<>();
// Double aDouble = doubleMeite.show(10.0);
// System.out.println(aDouble);
// 方式3:优化,使用泛型方法
Meite meite = new Meite();
String s = meite.show("mayikt");
Integer i = meite.show(10);
Boolean b = meite.show(true);
Double d = meite.show(10.0);
System.out.println(s);
System.out.println(i);
System.out.println(b);
System.out.println(d);
}
}
下一篇文章:泛型接口 与 泛型方法