1、空值转换问题
java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1842)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at AddDBSensorLog.main(AddDBSensorLog.java:131)
(1)出现以上问题,是因为我在从txt文件中取出数据,以空格进行分割,再将分割后的字符串去除首位空格,传输给各个属性,提交给数据库,比如下边的字符串:
String str="2004-04-01 12:29:34 333 4 22.098";
里边存在一些空值,在将空格去除之后,便成为空字符串
(2)我写了判断语句,并未解决该问题,依旧报错
if(t1!="")
{
Integer epoch=Integer.parseInt(t1);
log.setEpoch(epoch);
}
else
{
log.setEpoch(-1);
}
2、解决方法
然后,写了一个异常判断,有异常,就执行log.setEpoch(null);
,成功解决该问题:
try {
Integer epoch=Integer.parseInt(t1);
log.setEpoch(epoch);
} catch (Exception e) {
// TODO Auto-generated catch block
log.setEpoch(null);
}