泛型中extends和super的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了泛型中extends和super的区别相关的知识,希望对你有一定的参考价值。

参考技术A

通配符式声明 List<? extends Number> foo3 意味着以下每一条皆为合法语句:

无法向 List<? extends T> 添加任何对象,因为无法保证变量具体指向的是什么类型的 List ,从而无法保证目标 List 允许添加何种类型的对象。唯一能保证的是可以从中读出一个 T 类型或其子类型的数据。

List <? super T> .

通配符式声明 List<? super Integer> foo3 意味着以下每一条皆为合法语句:

记住一个口诀: "Producer Extends, Consumer Super" ( PECS ).

===> 翻译于 StackOverflow

以上是关于泛型中extends和super的区别的主要内容,如果未能解决你的问题,请参考以下文章

泛型中? super T和? extends T的区别

泛型中extends 和super 的区别

泛型中extends和super的区别

java泛型中的super和extend

Java泛型中extends和super的理解(转)

通配符和边界问题