读书人

泛型有关问题

发布时间: 2011-12-12 22:59:56 作者: rapoo

泛型问题
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> 变量

读书人网 >J2SE开发

热点推荐