标签: java generics wildcard
<T> void foo(List<T> i) { ......... }
和
void foo(List<?> i) { ........ }
两者都只允许i上的对象调用方法(编译器限制)。 使用通配符的第二种方法不允许您将任何对象添加到列表中(我们可以使用辅助方法,这很麻烦)。为什么我们需要无限外卡?它不限制或放宽任何要调用的类型。我们什么时候使用第二种方法?