下面的代码在JAVA中是不可以的:
import java.util.*; public class Test { public static void main(String[] args) { List<String> str = new ArrayList<>(); printList(str); } public static void printList(List<Object> str) { Iterator it = str.iterator(); while(it.hasNext()){ System.out.println(it.next()); } } }
可以将printList()修改成printList(List<? extends Object>)。因为继承自Object,可以简写为List<?>。