美文网首页JAVA
泛型中extends和super的区别

泛型中extends和super的区别

作者: 芒鞋胜马 | 来源:发表于2018-03-30 15:25 被阅读23次
    <? extends T>限定参数类型的上界:参数类型必须是T或T的子类型  "上界通配符"   set()方法失效  get()方法可用

<? super T> 限定参数类型的下界:参数类型必须是T或T的超类型 "下界通配符" get( )方法部分失效,只能存放到Object对象里。set( )方法正常。

https://itimetraveler.github.io/2016/12/27/%E3%80%90Java%E3%80%91%E6%B3%9B%E5%9E%8B%E4%B8%AD%20extends%20%E5%92%8C%20super%20%E7%9A%84%E5%8C%BA%E5%88%AB%EF%BC%9F/

PECS原则

最后看一下什么是PECS(Producer Extends Consumer Super)原则,已经很好理解了:

频繁往外读取内容的,适合用上界Extends。
经常往里插入的,适合用下界Super。

相关文章

网友评论

    本文标题:泛型中extends和super的区别

    本文链接:https://www.haomeiwen.com/subject/sudicftx.html