日期:2014-05-20  浏览次数:20675 次

泛型问题
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呢?

------解决方案--------------------
Test1.process(input);
------解决方案--------------------
List <Number> l=new ArrayList <Number> ();
编译的时候Number会被抹掉
http://blog.csdn.net/deepnighttwo/archive/2007/01/19/1487987.aspx
看看这个
------解决方案--------------------
List <Number> 不是 List <Integer> 的超类
不能把List <Integer> 的引用指向List <Number> 变量