本文共 2007 字,大约阅读时间需要 6 分钟。
案例一,使用泛型可以限制储存的值类型。
package ch9;import java.util.*;/** * Created by Jiqing on 2016/11/28. */public class GenericList { public static void main(String[] args) { // 创建一个只想保存字符串的List集合 ListstrList = new ArrayList (); // 泛型 strList.add("疯狂Java讲义"); strList.add("疯狂Android讲义"); // 下面代码将引起编译错误 // strList.add(5); strList.forEach(str -> System.out.println(str.length())); }}
案例二,菱形语法,简洁方便
package ch9;import java.util.*;/** * Created by Jiqing on 2016/11/28. */public class DiamondTest { // 泛型的菱形语法 public static void main(String[] args) { // Java自动推断出ArrayList的<>里应该是String Listbooks = new ArrayList<>(); books.add("疯狂Java讲义"); books.add("疯狂Android讲义"); books.forEach(ele -> System.out.println(ele.length())); Map > schoolsInfo = new HashMap<>(); List schools = new ArrayList<>(); schools.add("三打白骨精"); schools.add("大闹天宫"); schoolsInfo.put("孙悟空",schools); schoolsInfo.forEach((key,value) -> System.out.println(key + "-->" +value)); //孙悟空-->[三打白骨精, 大闹天宫] }}
案例三,定义类使用泛型声明
package ch9;import java.util.DoubleSummaryStatistics;/** * Created by Jiqing on 2016/11/28. */public class Apple{ // 定义类使用泛型声明 // 使用T类型形参定义实例变量 private T info; public Apple() {} // 使用T类型定义构造器 public Apple(T info) { this.info = info; } public void setInfo(T info) { this.info = info; } public T getInfo() { return this.info; } public static void main(String[] args) { // 由于传给T形参的是String 所以构造器参数只能是String Apple a1 = new Apple<>("苹果"); System.out.println(a1.getInfo()); // 苹果 // 由于传给T形参的是Double,所以构造器参数只能是Double Apple a2 = new Apple<>(5.67); System.out.println(a2.getInfo()); // 5.67 }}本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6111673.html,如需转载请自行联系原作者