1. 有界泛型
1.1 有界泛型的定义
当我们需要一个工具类只用于做数值计算,或者只用于做集合的遍历,方法只希望接收Number或者Collection,不希望接受其他类型,否则就得写一大堆instanceof的if判断。
为了解决这个问题,我们需要定义泛型的上边界,即方法所能接收的层级最高的类型。
在Java中,用extends关键字可以实现有界泛型的定义。格式为:<T extends UpperBoundClass>,其中UpperBoundClass为上边界类型。代码实例如下所示:
代码清单1
在使用代码清单1的工具方法的时,可以这么使用:
代码清单2