List<T>
和之间的唯一区别List<E>
是它们使用不同的名称。在这两种情况下,它都是必须在其他地方定义的类型变量。
List<?>
表示列表具有某些特定但未知的元素类型。它可以是 a List<String>
、 aList<Integer>
或 a List<DeliciousPie>
。null
除了a之外,您不能添加任何元素List<?>
,因为您不知道该对象是否与列表的元素类型具有相同的类型。
AList<Object>
是一个可以包含任何对象的列表。您可以向其中添加任何元素。