如何从结果集中获得双倍而不是双倍?
使用 JDBC 结果集时,我希望获得 Double 而不是 double,因为此列是可为 null 的。Rs.getDouble 在列为 null 时返回 0.0。
使用 JDBC 结果集时,我希望获得 Double 而不是 double,因为此列是可为 null 的。Rs.getDouble 在列为 null 时返回 0.0。
您可以在 ResultSet 上检查 wasNull
,以确定该值是否为 。null
请注意,必须首先调用列上的一个 getter 方法以尝试读取其值,然后调用该方法 wasNull 以查看读取的值是否为 SQL NULL。
如果您确实需要之后,可以从返回的创建它。Double
double
上述方法的替代方法是测试 ResultSet#getObject(),
以便您可以很好地将其与三元运算符组合放在一行中:ResultSet#wasNull()
null
Double d = resultSet.getObject("column") != null ? resultSet.getDouble("column") : null;
而不是
Double d = resultSet.getDouble("column");
if (resultSet.wasNull()) {
d = null;
}