Java泛型、通配符

一、为什么使用泛型

代码重用、增加可读性、高度解耦

二、泛型发展历史

JDK1.5引入,包括泛型、注解、枚举

三、泛型的概念

<T> T代表占位符,标识类型参数,可以定义任意符号,但建议用单个的大写字母替代

<T>只接收引用类型,不接收基本类型

四、泛型的使用

泛型类、泛型接口、泛型方法

泛型类:直接定义到类名后面,class Demo<T>

泛型接口:直接定义到类名后面,interface Demo<T>

泛型方法:泛型方法的类型参数写在返回值前面,<T> int add(T t1,T t2)

实现泛型接口的类,要么继续保留泛型类型,要么明确泛型类型

通配符

“?”代表任意参数类型

<? extends Number>上限通配符,只能传入Number的子类

<? super String>下限通配符,只能传入String的父类

泛型擦除

编译期擦除类型参数,如List<String> 擦除之后为List

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容