- 1.1 引言
- 1.2 动机和优点
- 1.3 定义泛型类和接口
- 1.4 泛型方法
- 1.5 【示例】对一个对象数组进行排序
- 1.6 原始泛型和向后兼容
- 1.7 通配泛型
- 1.8 消除泛型和对泛型的限制
- 1.9 【示例】泛型矩阵类
1.1 引言
泛型可以使我们在编译时就检测出错误,而不必等到运行才检出错误。如果视图使用一个不相容的对象,编译器会检测出这个错误。
1.2 动机和优点
从1.5开始允许定义泛型类,泛型接口,泛型方法,并且在API中修改了java.lang.Comparable接口。
<T>表示泛型类型,随后用一个实际具体类型来替换它,替换的类型称为泛型实例化。
泛型类型是引用类型,不能用基本类型来实例化,使用包装类来替换。
优点:
- 存的时候,编译器会提示类型不匹配
- 取得时候,无需类型转换,直接输入index可以查找
// 这里不会出错!
ArrayList date = new ArrayList<>();
date.add(new Date());
date.add(new String(" string"));
System.out.println((String)date.get(1) + date);// 这里如果没使用泛型,在输出的时候需要强制类型转换
// 这里编译会出错!
ArrayList<Date> dateArray = new ArrayList<>();
dateArray.add(new Date());
dateArray.add("string");// 错误的地方
1.3 定义泛型类和接口
使用类来创建对象,或者使用类或接口来声明引用变量时,需要指明具体的类型
1.4 泛型方法
1.5 【示例】对一个对象数组进行排序
1.6 原始泛型和向后兼容
1.7 通配泛型
1.8 消除泛型和对泛型的限制
1.9 【示例】泛型矩阵类
【引用】
Java语言程序设计(进阶篇) ---- 机械工业出版社
网友评论