java 为什么泛型不可以有基本类型?

java 为什么泛型不可以有基本类型?
jdk 5.0 后不是有个新特性 自动封箱吗?
List<int> list=new ArrayList<int>();
不会 自动把 int 转包装类 Integer 吗?

你说的是类似这样的吧:
List<int> list=new ArrayList<int>();//这里,这样是错误的
list.add(0);
list.add(1);
泛形要求能包容的是对象类型,而基本类型在java里不属于对象。但是基本类型都有其包装类型,也就是对象类型:
int->Integer
long->Long
....
那么你要想存放基本类型就用其包装类型去实现功能:
List<Integer> list=new ArrayList<Integer>();
list.add(0);
list.add(1);

你说的自动封箱是在对基本类形和包装类型操作的时候才有的,比如你直接把两个Integer类型的数据相加,在jdk1.5之前是不允许的。而泛型和自动封箱没有关系。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-01-01
我再补充一句:

泛型,只有jdk1.5里才有,其他版本都没有。
相似回答