public static class aaa {
public void fun(List<? super Number> b) {
}
}
public static class bbb<T> {
public void fun(List<? super T> b) {
}
}
public static void test() {
// 这里传入子类报错 可以理解
new aaa().fun(new ArrayList<Integer>());
// 这里传入子类 为什么没有报错
new <Number>bbb().fun(new ArrayList<Integer>());
}
我简单改了一下,这样就不报错了,Number和Integer的问题
class aaa {
public void fun(List<? super Integer> b) {
}
}
class bbb<T> {
public void fun(List<? super T> b) {
}
public static void test() {
// 这里传入子类报错 可以理解
new aaa().fun(new ArrayList<Integer>());
// 这里传入子类 为什么没有报错
new <Number>bbb().fun(new ArrayList<Integer>());
}
}