泛型里的super和extend

Posted

tags:

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

<? extends T>和<? super T>应该怎么用?

 

网上看到一些比较难懂的回答,但是在EffectiveJava(2th Edition)遇到简单明了的解释:

If your parameter is a producer, it should be <? extends T>, if it‘s a consumer it has to be <? super T>

即,做生产者的方法的参数用extends,消费者的方法的参数用super。

 

这里翻译一下:

<? extends T> 为 T的某个子类型 的 类

<? super T> 为 T的某种超类 的 类

 

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

浅显理解Java泛型的super和extends

Android开发之深入理解泛型extends和super的区别

java泛型中extends 和 super的区别

Java泛型中extends和super的区别

Android开发之深入理解泛型extends和super的区别

Android开发之深入理解泛型extends和super的区别