new Integer("" + list.get(0));中的两个冒号是干什么的,
new Integer("" + list.get(0))
还有为什么我一去掉这两个冒号就提示list.get(0)需要转型,而加上却可以通过!?

解决方案 »

  1.   

    加"",是为了转化为String类型,这样就能满足Integer的构造函数了。
      

  2.   

    Integer的构造函数:    public Integer(int value) {
    this.value = value;
        }    public Integer(String s) throws NumberFormatException {
    this.value = parseInt(s, 10);
        }
      

  3.   

    ""的作用相当于强制类型转换, 效果上相当于 new Integer( (String) list.get(0));
    这样写只是贪方便的做法,实际上对效率有一点点影响,当然可以忽略不计了.
      

  4.   

    呵呵,类型转换呀。转换成string型的。
      

  5.   

    直接new Integer(list.get(0).toString());
      

  6.   


    new Integer(list.get(0).toString());//如果不要那两个双引号就这样写
      

  7.   


    变量+"" 一般是强制转换成String类型
      

  8.   

    强制转换成String类型的种方法
      

  9.   

    因为 Integer的构造方法要求传入的是String参数,而list.get(int) 返回的是object型的,这里需要将object转换成String""是空的String,数值类型,int,float,double什么的
    int i = 1;
    float f = 6.22
    String s = “”;s = s+ i;//隐式将i转换成int型,添加在s后面成为新的字符串
    s = s + f;//
      

  10.   

    加上双引号,就会调用list.get(0)的继承object类的toString()方法。
    因为new Integer(String objString);要求的参数是String类型,所以通过,如果是
    list.get(0)估计你返回的是object类型的对象,所以不行。
      

  11.   

    类型转换的一中形式,但是很少这么用,还是正常转把,我一般都用String.valueof(), 这个功能比较强大。