extends T>是什么意思?
List extends Father> list1 = new ArrayList<>();
List super Father> list2 = new ArrayList<>();
PECS原则
最后看一下什么是PECS(Producer Extends Consumer Super)原则,已经很好理解了:
- 频繁往外读取内容的,适合用上界Extends。
- 经常往里插入的,适合用下界Super。
所以Supplier的泛型用 extends T>,因为是返回,即取值。
public T orElseGet(Supplier extends T> other) {
return value != null ? value : other.get();
}
参考
和 super T>的理解# - chenxibobo - 博客园">Java中 extends T>和 super T>的理解# - chenxibobo - 博客园



