JDBC入门中,下面一段代码中有了“conn != null”为什么还要写“conn.isClosed() == false”?

JDBC入门中,下面一段代码中有了“conn != null”为什么还要写“conn.isClosed() == false”?

try {
   if (conn != null && conn.isClosed() == false) {
       //5.关闭连接,释放资源
       conn.close();
   }
}catch (Exception ex){
   ex.printStackTrace();
}

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,两者作用是不一样的,这里conn.isClosed()用来判断conn是否正在使用,如果在使用,则需要关闭。

祝学习愉快~

  • 童真模式启动 提问者 #1
    那finally不是无法保证close()一定会执行了?


    2021-08-22 09:10:43
  • 童真模式启动 提问者 #2
    false不是活跃才能关?


    2021-08-22 09:25:16
  • 同学你好,1、isClosed是判断是否关闭,如果没有关闭会返回flase,这里是为了防止在finally执行之前已经关闭过conn,所以为了代码的严谨性,在这里做了此判断。

        ​2、如果出现conn出现为空或者conn已经关闭,就不用再次执行close操作了。

    所以代码正确执行的情况下,close会执行的。

    祝学习愉快~

    2021-08-22 13:53:03
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师