泛型(广泛的类型):JDK1.5版本以后出现新特性。用于解决安全问题,是一个安全机制 。
好处:
1.将运行时期出现问题ClassCastEcxception,转移到了编译时期,方便于程序员 解决,让运行事情问题减少,安全。
2.避免了强制转换麻烦。
在使用JAVA提供的对象时,什么时候写泛型呢?
通常在集合构架中很常见。
只要见到<>,就是用来接收泛型的。
其实<>就是用来 接收类型的。
当使用集合时,将集合中要存储的数据类型作为参数传递到<>即可;
什么时候定义泛型类?
当类中要操作的“引用数据类型”不确定时的时候。
早期是定义Object来完成扩展。
现在定义泛型来完成扩展。
泛型类:
泛型类定义的泛型,在整个类中有效,如果被方法使用,
那么泛型类的对象明确要操作的类型后,所有要操作的类型就已经固定了。
为了让不同方法可以操作不同的类型,而且类型还不确定,那么可以将泛型定义在方法上。
特殊之处:
静态方法不可以访问类上定义的泛型。
如果静态方法操作的应用数据类型不确定时,可以将泛型定义在方法上。用类名调用;
泛型的高级应用:
?通配符,也可以理解为占位符。
泛型的限定:
? extands E 可以接收E类型或者E的子类型,上限
? super E 可以接收E类型或者E的父类型,下限
|
|