package scjp.chapter7;import java.util.ArrayList;
import java.util.List;public class Test1 { public static <E extends Number> List<? super E> process(List<E> nums){
List<Number> l=new ArrayList<Number>();
return l;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Integer> input=null;
List<Number> output=null;
output=process(input);
}
}
process方法不是返回E或者E的父类吗,为什么不能赋给output呢?
import java.util.List;public class Test1 { public static <E extends Number> List<? super E> process(List<E> nums){
List<Number> l=new ArrayList<Number>();
return l;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Integer> input=null;
List<Number> output=null;
output=process(input);
}
}
process方法不是返回E或者E的父类吗,为什么不能赋给output呢?
编译的时候Number会被抹掉
http://blog.csdn.net/deepnighttwo/archive/2007/01/19/1487987.aspx
看看这个
不能把List<Integer>的引用指向List<Number>变量