Java教程

泛型 详细解读

本文主要是介绍泛型 详细解读,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

<? 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 - 博客园" href="https://www.cnblogs.com/chenxibobo/p/9655236.html" rel="external nofollow" target="_blank">Java中<? extends T>和<? super T>的理解# - chenxibobo - 博客园

这篇关于泛型 详细解读的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!