一、泛型(generics)
1、Java泛型是“JDK 1.5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。”
2、“泛型的本质是参数化类型”,即将需要操作的数据类型模式化,提前指定为一个参数。
二、泛型应用
1、泛型类:
1)格式:
访问修饰符 class 类名<泛型标识> {}
2、泛型方法
1)格式:
访问修饰符<泛型列表> 返回类型 方法名(参数列表){
//
}
注:类中其他方法不能使用当前方法声明的泛型
3、泛型接口
访问修饰符 interface 接口名<泛型标识> {
}
三、限制性泛型可用类型
1、使用方法:
定义类型时,使用extends,使这个类型必定继承某个类或者实现某个接口。
且党没有指定泛型继承的类型或接口时,默认extends object,即任何类型都可以作为参数传入。
2、格式:A<T extends B>
四、类型通配声明
1、为什么会有泛型类型通配?
由于泛型类实例之间的不兼容性会带来使用的不便,所以有了“?”来解决这个问题。
2、泛型通配符(?):"?"代表任意一个类型。
有点类似于《信息检索》外文检索中使用的通配符(?)
eg:organi?ation=organization或者organisation。。。
3、
1)使用extends限定通配符匹配类型的及其子类,即上限。
2)使用super限定类型为某个类型及其父类型,即下限。