将NULL转换为String或Double Issue的问题

时间:2013-06-17 21:42:55

标签: java sql

我有一个查询,它会检索一个对象类型并将其转换为double值。我是这样做的:

Double.valueOf(rs.getObject("price").toString()).doubleValue()));

但是,如果DB中的价格数据为NULL,则出现错误:NullPointerException。

我该如何处理?如果它是NULL,我想把它留空。

我想问题是当它变为null时,Java无法转换为字符串或doubleValue(),我该如何防止这种情况发生?

2 个答案:

答案 0 :(得分:1)

检查null ity rs.getObject("price")如果您发现它为null然后不做上面的事情而只是将其保留为您想要的默认值(空白或其他)

如果找不到合适的值,也可以在将NumberFormatException转换为String时处理Double处理

答案 1 :(得分:1)

在你做任何事情之前,只需检查并确保它不是空的 -

Object obj = rs.getObject("price");
if(obj != null) {
     double doubleVal = Double.parseDouble(obj.toString());
else {
     //some default value or exception
}

如果默认值为0,那么您可以使用ResultSet#getDouble()方法。

  

返回:   列值;如果值为SQL NULL,则返回的值为0