public class Test {
static class Parent{
}
static class Son extends Parent{
}
public static void main(String[] args) {
Son son = new Son();
List<Son> list=new ArrayList<>();
Map<Son,Collection<Parent>> map=new HashMap<>();
test(son);
test1(list);//报错
test2(list);
test3(map);//报错
}
public static void test(Parent parent){
}
public static void test1(List<Parent> parents){
}
public static void test2(List<? extends Parent> parents){
}
public static void test3(Map<? extends Parent,Collection<? extends Parent>> map){
}
}
哪位大神知道这个报错的地方是为什么吗?