用  short i=5;  z这种可以啊。
为什么使用List<Short> l=new ArrayList<Short>(); 不能 采用l.add(5) 求解释

解决方案 »

  1.   

    木有发现一个一个S大写一个s小写么Short是一个类,有对应的Short.java文件的
    short不是类,只是个基础类型
    jdk1.5后编译器能让short与Short之间自动互转
      

  2.   

    l.add(5), 这里的5默认的是int型,装箱成Integer,而l要求是存入Short型的,所以需要强制转换一下:
    l.add((short)5);
      

  3.   

    List<Short> l=new ArrayList<Short>();
    l.add(new Short("5"));
      

  4.   

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

  5.   

    同意2楼的,l.add((short)5);应该可以