0

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

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

那么,这四种形式有什么区别呢?此致

4

1 回答 1

9

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

List<?>表示列表具有某些特定但未知的元素类型。它可以是 a List<String>、 aList<Integer>或 a List<DeliciousPie>null除了a之外,您不能添加任何元素List<?>,因为您不知道该对象是否与列表的元素类型具有相同的类型。

AList<Object>是一个可以包含任何对象的列表。您可以向其中添加任何元素。

于 2013-07-09T17:30:24.247 回答