泛型:JDK1.5版本以后出现新特性。用于解决安全问题,是一个安全机制。
- 好处
-
- 将运行时期出现的问题ClassCastException,转移到了编译时期,方便程序员解决问题。让运行时问题减少,安全。
- 避免了强制转换的麻烦。
- 什么时候需要用
-
- 当类中要操作的引用数据类型不确定的时候,早起定义Object来完成扩展。现在定义泛型来完成扩展。
- 泛型类
-
- 泛型类定义的泛型,在整个类中有效。如果被对方使用。那么泛型类的对象明确要操作具体类型后,所有操作类型就已经固定了。
- 泛型方法
-
- 为了让相同方法操作不同类型,而且类型还不确定的情况下,那么可以将泛型定义在方法上。
- 特殊之处
-
- 静态方法不可以访问类型上定义的泛型,如果静态方法操作的应用数据类型不确定,可以将泛型定义在方法上。
- 泛型限定
-
- 上限:? extends E 可以接受E类型或者E类型的子类型。
- 下限:? super E 可以接受E类型或者E类型的父类型。