zoukankan      html  css  js  c++  java
  • List<? extends > list1 和 List<? super > list2

      刚才看了一些博文,这里说一下自己的理解。

      List <? extends T>   list1 这个基本意思是  所有参数类型是T 子类的list 都能直接赋值给list1.但是由于 list1没有指定自己具体是哪个元素,所以不能直接使用add 方法。之只能通过get 方法取list中,赋值给list1 之前已经有的元素。

    List<? super T> list2    能把所有参数类型是T的父类的list 直接赋值给list2, 由于已经确定了这个list2最小的边界就是T ,所以这个list2 在赋值之后还能放T或者T的子类。list2 取值的时候,因为不知道元素是T的哪一个父类,所以取出来的元素只能是object 类型的。

    参考文章:https://www.cnblogs.com/chenxibobo/p/9655236.html

                     https://www.cnblogs.com/drizzlewithwind/p/6100164.html

       谢谢以上博主

  • 相关阅读:
    gcc相关
    test
    第二次课
    VS快捷键
    第7章 站在对象模型的尖端
    第6章 执行期语意学
    第5章 构造, 析构, 拷贝语意学
    第4章 Function语意学
    第一次课
    第3章 Data语意学
  • 原文地址:https://www.cnblogs.com/prader6/p/13850960.html
Copyright © 2011-2022 走看看