java.lang.NumberFormatException: For input string: "1 9"

  今天写了个java的小程序在运行的时候抛出下面的异常:java.lang.NumberFormatException: For input string: "1    9" 。定位到源程序中出错的地方:   

      String[] cols = key.toString().split("    ");
    return Integer.parseInt(cols[0]) % numPartitions;

  通过查询java API 以及百度,了解到抛NumberFormatException的情况为当程序试图将一个字符串转换为一种数据类型,但是该字符串无法按要求转换成相应的类型的时候,就会抛出改异常具体到我的程序,上面第二句用到Integer.parseInt()函数,即是要把字符串cols[0]转换成Int型,但是从上面获取到的cols[0]却是 “1   9”,它无法转换成int型,所以抛出了异常。

  所以我的程序错在cols[0]的获取是有错误的(我的本意是分别获取到1 和9放到cols数据中,再分别转换成int型),通过修改源程序正确的获取cols数组的数据,则以上问题解决。

posted @ 2011-09-28 21:12  午后的猫  阅读(20521)  评论(1编辑  收藏  举报