读书人

Listlt;Shortgt; l=new ArrayListlt;Shortgt;(

发布时间: 2012-08-29 08:40:14 作者: rapoo

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类型。故此可以,







读书人网 >J2SE开发

热点推荐