在 Java 中,我试图从 ResultSet 测试空值,其中列被转换为原始 int 类型。
int iVal;
ResultSet rs = magicallyAppearingStmt.executeQuery(query);
if (rs.next()) {
if (rs.getObject("ID_PARENT") != null && !rs.wasNull()) {
iVal = rs.getInt("ID_PARENT");
}
}
从上面的代码片段来看,有没有更好的方法来做到这一点,我假设第二个 wasNull() 测试是多余的?
教育我们,谢谢
原文由 ian_scho 发布,翻译遵循 CC BY-SA 4.0 许可协议
The default for
ResultSet.getInt
when the field value isNULL
is to return0
, which is also the default value for youriVal
declaration.在这种情况下,您的测试是完全多余的。如果您真的想在字段值为 NULL 时做一些不同的事情,我建议:
(编辑为下面的@martin 评论;所写的 OP 代码无法编译,因为
iVal
未初始化)