在泛型编程时,使用部分限定的形参时,<? super T>和<? extends T>的使用场景容易混淆,PECS原则可以帮助我们很好记住它们: 生产者(Producer)使用extends,消费者(Consumer)使用super. 留下一段代码加深印象(来自JDK 8 Collections.copy()源码) /** * Copies all of the elements from one list into another. After the * operation,…
Java 中对于泛型方法的定义: public <T> T getT(){ .....相关代码; } 其中我对<T>的理解就是申明只是一个泛型方法的标记,T是返回的类型. 对于泛型类的定义: public class Type<T>{ ....相关代码 } 上面写的是关于泛型方法和泛型类的定义.这里写这篇博客的主要目的是为了记录<? extends T> 和 <? super T>的理解. <? extends T>是上界通配符.逻辑…