【发布时间】:2013-07-09 17:28:11
【问题描述】:
我有一个关于 Java 泛型的问题。假设我们有以下形式的 List 数据结构:
List<Object>
List<?>
List<T>
List<E>
那么,这四种形式有什么区别呢? 最好的问候
【问题讨论】:
我有一个关于 Java 泛型的问题。假设我们有以下形式的 List 数据结构:
List<Object>
List<?>
List<T>
List<E>
那么,这四种形式有什么区别呢? 最好的问候
【问题讨论】:
List<T> 和 List<E> 之间的唯一区别是它们使用不同的名称。在这两种情况下,它都是必须在其他地方定义的类型变量。
List<?> 表示列表有一些特定但未知的元素类型。它可以是List<String>、List<Integer> 或List<DeliciousPie>。您不能将除null 之外的任何元素添加到List<?>,因为您不知道该对象是否与列表的元素类型具有相同的类型。
List<Object> 是一个可以包含任何对象的列表。您可以向其中添加任何元素。
【讨论】: