【问题标题】:Java generics not complete understanding [duplicate]Java泛型不完全理解[重复]
【发布时间】:2013-07-09 17:28:11
【问题描述】:

我有一个关于 Java 泛型的问题。假设我们有以下形式的 List 数据结构:

List<Object>
List<?>
List<T>
List<E>

那么,这四种形式有什么区别呢? 最好的问候

【问题讨论】:

    标签: java list generics object


    【解决方案1】:

    List&lt;T&gt; 和 List&lt;E&gt; 之间的唯一区别是它们使用不同的名称。在这两种情况下,它都是必须在其他地方定义的类型变量。

    List&lt;?&gt; 表示列表有一些特定但未知的元素类型。它可以是List&lt;String&gt;、List&lt;Integer&gt; 或List&lt;DeliciousPie&gt;。您不能将除null 之外的任何元素添加到List&lt;?&gt;,因为您不知道该对象是否与列表的元素类型具有相同的类型。

    List&lt;Object&gt; 是一个可以包含任何对象的列表。您可以向其中添加任何元素。

    【讨论】:

      猜你喜欢
      • 2014-01-12
      • 2017-11-06
      • 2015-07-01
      • 2012-04-20
      • 1970-01-01
      • 1970-01-01
      • 2010-09-26
      • 2018-04-27
      • 2015-10-08
      相关资源
      最近更新 更多