Java 泛型:通配符> vs 类型参数?
- 论坛
- Java 泛型:通配符<?> vs 类型参数<E>?
9 浏览
Java 泛型:通配符> vs 类型参数?
我正在复习Java泛型知识。所以我去了Oracle的优秀教程……并开始为我的同事们准备一个演示。我在教程中的通配符部分看到了以下内容:
考虑下面的方法printList:
public static void printList(List
...
printList的目标是打印任何类型的列表,但它未能实现这一目标——它只能打印Object实例的列表;它无法打印List
public static void printList(List> list) {
...
我理解List
static
for (E e : list) {
System.out.println(e.toString());
}
}
...
List
printObjects(objects);
List
printObjects(integers);
使用List
长话短说:至少教程表明,解决这个问题需要通配符;但正如所示,也可以用这种方式解决。那么,我是错过了什么?!
(附注:在Java7中进行了测试;所以这可能是Java5、Java6的问题;但另一方面,Oracle在更新教程方面做得很好)