【问题标题】:Why List<Integer> is not a subtype of `List<Number>` but is subtype of `List<? extends Number>`? [duplicate]为什么 List<Integer> 不是 `List<Number>` 的子类型,而是 `List< 的子类型?扩展数字>`? [复制]
【发布时间】:2014-09-23 19:57:13
【问题描述】:

为什么List&lt;Integer&gt; 不是List&lt;Number&gt; 的子类型而是List&lt;? extends Number&gt; 的子类型?

List<Integer> ints = new ArrayList<Integer>();
ints.add(1);
ints.add(2);
List<? extends Number> nums = ints;// <-- No Error

【问题讨论】:

    标签: java


    【解决方案1】:

    List 是一个保证它的每个成员都是整数的列表。 List 没有这样的保证,它可以是其他类型。 另一方面,List 不做这样的保证。

    【讨论】:

      猜你喜欢
      • 2012-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-17
      • 2021-06-24
      • 2021-07-06
      • 2021-02-17
      • 2018-09-11
      相关资源
      最近更新 更多