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

List<Short> l=new ArrayList<Short>();
用 short i=5; z这种可以啊。


为什么使用List<Short> l=new ArrayList<Short>();

 不能 采用l.add(5) 求解释

------解决方案--------------------
木有发现一个一个S大写一个s小写么

Short是一个类,有对应的Short.java文件的
short不是类,只是个基础类型


jdk1.5后编译器能让short与Short之间自动互转
------解决方案--------------------
l.add(5), 这里的5默认的是int型,装箱成Integer,而l要求是存入Short型的,所以需要强制转换一下:
l.add((short)5);

------解决方案--------------------
解答:
short i=5; 可以
List<Short> l=new ArrayList<Short>();不可以。

首先我们来肯定一个事,short 是基本数据类型对吧!故此short i=5; 就好比你定义了个short 类型的数据是5

但是 List<Short> l=new ArrayList<Short>();也一样,你明确的指定了,list中添加的参数是Short类型的!

 但是你传入进去的参数是int 5 故此,编译不通过!数据类型就不匹配! 你并没有这里5是Short 类型,就想

5向Short类型中添加,故此不可以。而上面short i=5;你明确的指定了5就是short类型。故此可以,