Java 泛型
泛型 即“参数化类型”。一提到参数,最熟悉的就是定义方法既有形参,也有实参,泛型就是将类型由原来的类型参数化,类似于方法中的变量参数,此时的类型T等可以称为类型形参,然后在使用/调用时传入具体的类型。
在java中泛型这一概念提出的目的,让其只是作用于代码编译阶段,在编译过程中,对于正确检验泛型结果后,会将泛型的相关信息擦除,也就是说,成功编译后的class文件中是不包括任何泛型信息的。其不会进入到运行时阶段
泛型逻辑上可以看做多个不同的类型,实际上都是相同的基本类型
<? extends T> 和 <? super T>
上界通配符
下界通配符
PECS (Producer Extends Consumer Super)
- 频繁往外读取内容的,适合使用上界Extends
- 经常往里插入的,适合使用下界super