我是 Java 新手。在本 文档中,他们将此作为使用通配符的用例:
static void printCollection(Collection c) {
Iterator i = c.iterator();
for (int k = 0; k < c.size(); k++) {
System.out.println(i.next());
}
}
这是他们的解决方案:
static void printCollection(Collection<?> c) {
for (Object e : c) {
System.out.println(e);
}
}
但是我可以在没有通配符的情况下做同样的事情:
static <T> void printCollection(Collection<T> c) {
Iterator i = c.iterator();
for (int k = 0; k < c.size(); k++) {
System.out.println(i.next());
}
}
有人可以向我展示一个简单的用例,其中常规泛型不起作用但通配符可以吗?
更新:这里的答案何时在 Java 泛型中使用通配符?不要告诉我们需要通配符。事实上,它是相反的。