泛型定义:
操作的数据类型被指定为一个参数,将原来的具体数据数据类型参数化。
泛型类:
1.泛型参数必须是引用数据类型
2.不能 new T[]
例如可以 this.element=(T[])new Object [][]来强制转换
3.不能 new T()
4创建实例对象时忘写< T >默认为Object
例如 MyArraylist myArraylist 相当于 myArraylist < object >
泛型参数 只作用于编译期类型的推导,类型的安全检测
运行期< T >就会类型擦除到Object
泛型方法是静态方法
例如 public static < T > void 函数名(T){
}
泛型方法与当前类是否是泛型毫无关系
泛型参数进行参数限定:extends 定义泛型参数上界
上界:实际引用数据类型必须是该类或该类的子类(或实现了该接口)
super 下界