天天看点

java核心技术(8)泛型程序设计

泛型程序设计(Generic programming) 意味着编写的代码可以被很多不同类型的对象所重用。

比杂乱的使用Object对象然后再进行强制类型转换具有更好的可读性和安全性。尤其对于集合。

public static <T extends Comparable> T min(T [] a)

表示T应该是实现了Comparable接口的类(此处extends表示绑定)

虚拟机中没有泛型,编译时转换为原始类型,由此带来以下几个问题:

1、不能使用基本类型实例化类型参数

2、运行时类型查询只适用于原始类型

3、不能抛出也不能捕获泛型类实例

4、参数化类型数组不合法

5、不能使用new实例化类型变量

6、泛型类的静态上下文中类型变量无效

需要注意继承与普通类不一样

通配符:

有限定通配符:Pair<? extends Apple>             Pair<? super Apple>

无限定通配符:Pair<?>