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

 

  • 经 常发现有List<? super T>、Set<? extends T>的声明,是什么意思呢?<? super T>表示包括T在内的任何T的父类,<? extends T>表示包括T在内的任何T的子类,下面我们详细分析一下两种通配符具体的区别。

    extends

    List<? extends Number> foo3的通配符声明,意味着以下的赋值是合法的:

    01 // Number "extends" Number (in this context)
    02  
    03 List<? extends Number> foo3 = new ArrayList<? extends Number>();
    04  
    05 // Integer extends Number
    06  
    50000+
    5万行代码练就真实本领
    17年
    创办于2008年老牌培训机构
    1000+
    合作企业
    98%
    就业率

    联系我们

    电话咨询

    0532-85025005

    扫码添加微信

    07