検討
List<? super Integer> lst= new ArrayList<Number>();
lst.add(new Integer(3)); //ok- why?? I expected compile error "expected add(int, Object), found add(int,CAP#1)"
lst.get(0); //ok
と
List <? extends Number> nums= new ArrayList<Integer>();
lst.add(new Integer(3));//Compile error- expected add(int, Object), found add(int,CAP#1)
コンパイル状態では、型がわから<? extends Number>
ず、コンパイル エラーが発生します。<? super Integer>
コンパイル状態の型について知っていますか? なんで?