泛型之泛型方法演化示例
用最原始的调用方法来输出不同数据类型的元素时,需要创建不同数据类型参数的重载方法,例如:
//普通方法 public class Generic { public void show(String s){ System.out.println(s); } public void show(Integer i){ System.out.println(i); } public void show(boolean b){ System.out.println(b); } } /* 操作类 */ public class GenericDemo { public static void main(String[] args) { Generic g1 = new Generic(); g1.show("旭旭宝宝"); Generic g2 = new Generic(); g2.show(20); Generic g3 = new Generic(); g3.show(true); } } /*运行结果: 旭旭宝宝 20 true */
很明显代码过于臃肿,需要多次创建新的对象,下面使用泛型类来改进:
//使用泛型类改进 public class Generic<T>{ public void show(T t){ System.out.println(t); } } public class GenericDemo { public static void main(String[] args) { Generic<String> g1 = new Generic<String>(); g1.show("旭旭宝宝"); Generic<Integer> g2 = new Generic<Integer>(); g2.show(20); Generic<Boolean> g3 = new Generic<Boolean>(); g3.show(true); } } /*运行结果: 旭旭宝宝 20 true */
使用泛型类后,创建对象时仍然需要明确对象的数据类型,看起来效率也不是很高,最后使用泛型方法改进:
//使用泛型方法改进 public class Generic { public <T> void show(T t){ System.out.println(t); } } public class GenericDemo { public static void main(String[] args) { Generic generic = new Generic(); generic.show("旭旭宝宝"); generic.show(20); generic.show(true); generic.show(99.999); } } /* 运行结果: 旭旭宝宝 20 true 99.999 */
使用泛型方法改进后,代码变得更加简洁,敲代码效率也更高效
学习的博客多用于在笔记中,防止笔记过于臃肿,所以将样例及运行结果放在博客中,后以超链接的形式记录在笔记中,所以有些博文过于单薄。如果有小伙伴遇到问题欢迎评论,看到就会回复,学渣一枚,加油努力。