A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

关闭Statement或者Connection对象时,为什么都要判断要关闭的对象是否为null,确定是null之后才调用close方法关闭对象。直接关闭不行吗?直接关闭,就算对象为null直接用close方法关闭,也无非就是没有效果而已,何必要这么麻烦判断其是否为null呢?
  1. if (stmt != null) {
  2. try {
  3.   stmt.close();   
  4. } catch(SQLException e) {
  5.   e.printStackTrace();
  6. }
  7. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
曹睿翔 + 1 神马都是浮云

查看全部评分

6 个回复

倒序浏览
因为stmt为null时,就不能调close方法了,不然就会异常了。可以理解为:stmt存在,我就关掉,不存在,我就不能关了,想想,既然都不存在,你关什么。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
为null的话在调用close会抛异常啊。
回复 使用道具 举报
楼主你好  如果帖子的问题已经解决,请把帖子的类型改为“已解决”。{:soso_e102:}
回复 使用道具 举报
有时候代码执行完成时,java的垃圾回收机制已经把资源释放掉,这样的话,就不用在释放了。。。
回复 使用道具 举报
问题已经解决的,请及时更改分类为已解决,方便大家查阅,没有的继续追问
关于提问技巧请看:http://bbs.itheima.com/thread-53229-1-1.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马