泛型开发常识

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)    收藏  举报

导航