import java.util.List;
public class ClassTest {
// super ?只能是B的父类或B
public void add(List<? super B> list){
// list.add(new A()); A 是B的父类
list.add(new B());
list.add(new C()); // C 是子类 为何可以add ?
}
public void minus(List<? extends B> list){
// 三个都不行 why ???
// list.add(new B());
// list.add(new A());
// list.add(new C());
}
}
class A {}
class B extends A{}
class C extends B{}
List<? extends B> 到底是什么意思, 为什么与书上说的相反?
明天问老师后回来解决 2014-10-8
同样的问题···
import java.util.ArrayList;
import java.util.List;
public class GenericTest {
public static void main(String[] args) {
List<? extends Number> list = new ArrayList<Integer>();
Number n = new Integer(3);
Integer i = new Integer(5);
// list.add(i);
// list.add(n); 两个都不行 why ?
}
}
这次更绝 两个都不行了