格式:修饰符<类型> 返回值类型 方法名(类型 变量名){...}
范例:public
void show(T t){...}
Meite.java
- package com.collection.Demo05;
-
- /**
- * 泛型方法
- * 问题:相同参数的方法重载
- * 解决:泛型方法
- */
- //public class Meite
{ - //方式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
{,但下面不是泛型方法 - // public T show(T t) {
- // return t;
- // }
- //}
- // 方式3:优化,使用泛型方法
- public class Meite {
- public
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
stringMeite = new Meite<>(); - // String string = stringMeite.show("mayikt");
- // System.out.println(string);
- //
- // Meite
integerMeite = new Meite<>(); - // Integer integer = integerMeite.show(10);
- // System.out.println(integer);
- //
- // Meite
booleanMeite = new Meite<>(); - // Boolean b = booleanMeite.show(true);
- // System.out.println(b);
- //
- // Meite
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);
- }
- }
下一篇文章:泛型接口 与 泛型方法