String[] strs=m3io.split(",");
int sum=0;
for(int i=0;i<strs.length;i++){
sum+=  new Integer(strs[i]);
}
return sum;
如题,小弟有些搞不清楚上面为什么只能用new Integer(strs[i]),而不能用Integer.getInteger(strs[i])为什么非得new出个对象才能计算呢?

解决方案 »

  1.   

    不对吧,就算你用Integer.getInteger(strs[i]这个也不行吧,你的sum 是int 类型,而你的两种方式返回的值都是对象啊,你需要用String str="";
    String[] strs=str.split(",");
    int sum=0;
    for(int i=0;i<strs.length;i++){
        //sum+= new Integer(strs[i]);
     sum+=Integer.parseInt(strs[i]);
    //sum= new Integer(strs[i]);
    }
    return  sum;方式写吧
      

  2.   

    getInteger
    public static Integer getInteger(String nm)确定具有指定名称的系统属性的整数值。 
    第一个参数被视为系统属性的名称。通过 System.getProperty(java.lang.String) 方法可以访问系统属性。然后,将该属性的字符串值解释为一个整数值,并返回表示该值的 Integer 对象。使用 getProperty 的定义可以找到可能出现的数字格式的详细信息。 如果没有具有指定名称的属性,或者指定名称为空或 null,或者属性的数字格式不正确,则返回 null。 换句话说,该方法返回一个等于以下值的 Integer 对象: getInteger(nm, null)
      

  3.   

    getInteger方法不是把字符串转换为integer值;是用来确定具有指定名称的系统属性的整数值的方法,对应的字符串为属性名,不是随便的字符串。