java泛型为什么不支持原始类型
1个回答
2018-04-23 · 知道合伙人互联网行家
关注
展开全部
你说的是类似这样的吧:
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之前是不允许的。而泛型和自动封箱没有关系。
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之前是不允许的。而泛型和自动封箱没有关系。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询