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