今天写了个java的小程序在运行的时候抛出下面的异常:java.lang.NumberFormatException: For input string: "" 。定位到源程序中出错的地方:
String[] cols =
key.toString().split(" ");
return
Integer.parseInt(cols[0]) % numPartitions;
通过查询java API 以及百度,了解到抛NumberFormatException的情况为:当程序试图将一个字符串转换为一种数据类型,但是该字符串无法按要求转换成相应的类型的时候,就会抛出改异常。具体到我的程序,上面第二句用到Integer.parseInt()函数,即是要把字符串cols[0]转换成Int型,但是从上面获取到的cols[0]却是 “”,它无法转换成int型,所以抛出了异常。
所以我的程序错在cols[0]的获取是有错误的,通过修改源程序正确的获取cols数组的数据,则以上问题解决。