JAVA

泛型中extends和super的区别

2018-03-30  本文已影响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。
上一篇 下一篇

猜你喜欢

热点阅读