本帖最后由 fank243 于 2013-04-06 17:55:47 编辑

解决方案 »

  1.   

    NumberFormatException: For input string: "convertToInteger"
    转换要求是纯数字
      

  2.   

    那该怎么样将String转为Integer呢?
      

  3.   

    楼主你希望将“convertToInteger”这个字符串转换成什么数字?1还是2还是3还是4?
      

  4.   


    转为int类型即可。
    原题是这样的:
    声明一个ArrayList<Integer> list = new ArrayList<Integer>();
    但是需要在这个集合里面添加String对象。
    所以需要将String装换为Integer对象后,再添加进去。
      

  5.   

    这个不可能的吧,String转换为Integer对象
      

  6.   


    那还不简单,自己写个方法..............public int convert(String value) {
     return 1;
    }
      

  7.   

    String s="1"; 问题出在这里,这里的值要一个数字才行
    // Integer integer = Integer.parseInt(s);
    //或者
    Integer integer = Integer.valueOf(s);
    System.out.println(integer);
      

  8.   

    jdk里关于parseInt方法的原话
    将字符串参数作为有符号的十进制整数进行分析。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。
      

  9.   

    数字才能转,字符串要转为数字可以用hashcode()
      

  10.   

    调用此方法时要 注意 传入的 s是否 可以解释为一个字符串如:"123","0xFF"
    s="convertToInteger"; //这个字串英文意思 是“转换为整数”, 可是 它不能解释成 数字吧
    Integer.valueOf(s);//执行到这步,当然会抛出异常
    当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。
      

  11.   

    转换规则可以自定。只是给你我对转换数据的封装,仅借鉴:
    // 为空时,返回0.0
            if (null == value) {
                result = 0.0d;
                
                // 布尔值,返回1 或 0
            } else if (isBoolean(value)) {
                result = ((Boolean)value ? 1 : 0) + 0d;
                
                // 字符型,返回ASCII码
            } else if (isChar(value)) {
                result = ((Character)value) + 0d;
                
                // 数值类型,直接返回取值
            } else if (isNumeric(value)) {
                result = Double.parseDouble(value.toString());
                
                // 其它类型,强转.错误返回0.0
            } else if (isDateTime(value)) {
                result = ((value instanceof Date) ? ((Date)value).getTime() : ((Calendar)value).getTimeInMillis()) + 0d;
            }所有的is类型,都是另一个方法进行判断的。
    如:value instanceof Date
    这个字符串即不会报错了,但会返回0,字符串的处理没有发出来,反正就是按规则转换不出来的,一律返回0。
    这个只是类似于的处理。至于转换规则,是返回0还是-1还是其他的,你自己定就可以了。
      

  12.   


    =============================
    我说了,字符串处理没有发出来,自己考虑转换。
    继续上面的。
    } else if (isString(value)) {
    // CODE
    }
      

  13.   

    你怎么能把那么长一个字符串转化成int呢??转换的方法是parseInt();valueOf()是把其他类型转换成字符串的。
      

  14.   

    看下JDK的帮助文档中。ValueOF这个方法。自己学会的最重要。
      

  15.   

    你想把一个字符串转换成整数,应该是“123” 或者“478”等等纯数字的字符串,试想“abc”这种字符串怎样转换成数字呢?
      

  16.   


    自己写个函数将每个字母的ascii码一个接一个拼一起组成数字
      

  17.   

    String好像不能直接转Integer的,Char好像可以的,要么先转成Char[],再转成Integer[]
      

  18.   

    简单,直接把String转化为char[],然后求每个字符的hashcode,然后放到整形的list里面不就可以了!
      

  19.   

    你可以先把字符串拆分成一个char数组,这样的话就可以把每一个字符顺利的转换成Integer对象。之后把每个字符存放到集合中。不知道题目的要求是不是这个意思。你可以尝试一下。
      

  20.   

    我们知道,字符与ASCII之间是一一对应的,而ASCII的表示形式则是数字,
    所以,要想把字符串转换为数字,首先将其转换为字符数组,
    再将字符数组下的每一个元素转换为ASCII。
    不知道楼主是不是这个意思
      

  21.   

             ArrayList<Integer> list = new ArrayList<Integer>();
            ((List)list).add("convertToInteger");
            System.out.println(list);