当前位置: 首页 > 面试题库 >

从Java ResultSet检查null int值

骆昊阳
2023-03-14
问题内容

在Java中,我试图从ResultSet中测试是否为空值,在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()测试是多余的?

教育我们,谢谢


问题答案:

默认ResultSet.getInt时,字段值NULL是返回0,这也是您的默认值iVal声明。在这种情况下,您的测试是完全多余的。

如果您实际上想在字段值为NULL的情况下执行其他操作,则建议:

int iVal = 0;
ResultSet rs = magicallyAppearingStmt.executeQuery(query);
if (rs.next()) {
    iVal = rs.getInt("ID_PARENT");
    if (rs.wasNull()) {
        // handle NULL field value
    }
}

(在下面编辑为@martin注释;编写的OP代码由于iVal未初始化而无法编译)



 类似资料:
  • 我们的PL/SQL数据库有三个数字变量,分别表示确切的日期、月份和年份。 我想在Java中将这些值读入一个字符串来显示,但是rs.getString(“[Number_字段]”)会显示一个“Invalid Column Name”异常,而rs.getInt(“[Number_字段]”)会执行相同的操作(见下面的代码段)。而且,因为单词“number”被用来描述编码历史上创建的每一个字符串转换,所以

  • 问题内容: 我想检查一下Linux文件系统上的一组Berkeley DB文件。 有哪些有用的工具可用于快速浏览内容?我可以编写使用BDB模块检查它们的Perl脚本,但是我正在寻找一些CLI实用程序,以便能够浏览内部而不必开始编写脚本。 问题答案: 签出 db-utils 软件包。如果使用apt,则可以使用以下命令进行安装:( 或您拥有或喜欢的任何版本。) 附加链接: http://rpmfind.

  • 我有一份flink的工作,它使用Kafka的数据,制作一些无状态平面图,并向Kafka生成数据,这是一份工作量非常小的工作。 例如,在作业需要从检查点还原之前,它通常会无问题地获取检查点,而它只是无法使用下面的堆栈跟踪还原状态。 状态非常小,我相信它只是Kafka偏移量,它至少运行了一次语义。 所有操作员都有。uid()集,我完全没有主意了。 这是尝试从检查点重新启动时的错误: 任务管理器在正常操

  • 问题内容: 我正在尝试获取存储在中的值的类型。 是否有可能获取存储在key处的值的类型;像什么? 问题答案: 您可以使用方法从JSON获取对象,然后使用运算符检查Object的类型。像这样的东西:

  • 当另一个函数的布尔值设置为“True”时,我试图做一些事情。我尝试使用return(variable),但当涉及到请求布尔值的函数时,它总是说False。在问这个问题之前,我看了一下这里,因为我觉得这似乎是非常基本的东西。但我找不到任何有用的东西。我希望有人能帮我做这件事。这是我的代码。

  • 可以 Checkout 一个提交,或者一个分支。 练习 1,先做两次提交。修改项目下的 README.md 还有 resources.md,在标题的结尾添加一个笑脸符号。 README.md # git :) resources.md # 相关资源 :) 再去提交一下: git commit -am '让标题微笑' 然后再单独修改一下 README.md,把标题中的 git 修改成 Git: