我有一个查询,它会检索一个对象类型并将其转换为double值。我是这样做的:
Double.valueOf(rs.getObject("price").toString()).doubleValue()));
但是,如果DB中的价格数据为NULL,则出现错误:NullPointerException。
我该如何处理?如果它是NULL,我想把它留空。
我想问题是当它变为null时,Java无法转换为字符串或doubleValue(),我该如何防止这种情况发生?
答案 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