泛型类
定义
[访问权限修饰符] class 类名称<泛型标识列表>{
private 泛型标识 变量名;
}
注意:泛型标识:T、E、K、V
使用
类名<具体类型> 对象名 = new 类名<具体类型>();
类名<具体类型> 对象名 = new 类名<>();
泛型方法
[访问权限修饰符] [修饰符] <T、E……> 返回值类型 方法名(形参列表){
方法体
}
泛型接口
定义
[访问权限修饰符] interface 接口名称<泛型标识列表>{
常量;
抽象方法;
}
类型通配符
上限语法
- 接口名/类名<T extends 实参类型>
- 方法名(类名<? extends 实参类型 变量名>)
下限语法
- 接口名/类名<T super 实参类型>
- 方法名(类名<? super 实参类型 变量名>)
泛型擦除
泛型是Java1.5版本才引进的概念,在这之前没有泛型,但是,泛型代码能够很好的利之前版本的代码兼容,原因是泛型只存在代码编译阶段(.java,.class),在进入JVM之前,泛型相羑的信息会被擦除掉,我们称之为–类型擦除
泛型优点
安全简单