<? extends T>是什么意思?
List<? extends Father> list1 = new ArrayList<>();
List<? super Father> list2 = new ArrayList<>();
最后看一下什么是PECS(Producer Extends Consumer Super)原则,已经很好理解了:
所以Supplier的泛型用<? extends T>,因为是返回,即取值。
public T orElseGet(Supplier<? extends T> other) { return value != null ? value : other.get(); }
参考
和<? super T>的理解# - chenxibobo - 博客园" href="https://www.cnblogs.com/chenxibobo/p/9655236.html" rel="external nofollow" target="_blank">Java中<? extends T>和<? super T>的理解# - chenxibobo - 博客园