泛型开发常识
1、在程序开发过程中,会遇到各种bug。有两种,一种是编译时bug,另一种是运行时bug。后者比较难调试,不能知道bug准确位置。使用泛型可以将一些运行时bug改为编译时不过,通过及时修复编译时bug提高程序健壮性。
2、类型参数
使用泛型时,经常需要声明类型参数,他们通常是一个大写字母,与普通变量的命名形成对比,区分类型变量和接口名。
常见如下:
E:元素
K:键
N:数字
T:类型
V:值
S,U,V等:用于第二,三,四个类型变量
?:任意性
3、限制类型参数的范围
<t extends Number>表示T的范围限制在Number类的子类,<T extends Comparable> 表示T 的范围限制在Comparable接口的实现类,对于接口,也是用extends。限制参数时,支持多重接口,不支持多重继承。比如 <T extends Number & Comparable & Comparator>
4、数组支持协变,泛型不支持协变。所谓协变:例如Integer 类是Number类自雷,那么可以讲Integer类型的数组赋值给Number型的数组。泛型不能实例化泛型参数的数组。
posted on 2016-02-19 23:12 1130136248 阅读(102) 评论(0) 收藏 举报
浙公网安备 33010602011771号