黑马程序员技术交流社区

标题: 释放数据库资源时为什么要判断是否为null [打印本页]

作者: 赵熠东(赵东东)    时间: 2013-6-9 12:08
标题: 释放数据库资源时为什么要判断是否为null
关闭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. }
复制代码

作者: 顾玲玉    时间: 2013-6-9 12:55
因为stmt为null时,就不能调close方法了,不然就会异常了。可以理解为:stmt存在,我就关掉,不存在,我就不能关了,想想,既然都不存在,你关什么。
作者: SOAR    时间: 2013-6-9 13:44
为null的话在调用close会抛异常啊。
作者: 袁梦希    时间: 2013-6-9 15:07
楼主你好  如果帖子的问题已经解决,请把帖子的类型改为“已解决”。{:soso_e102:}
作者: Spole_168    时间: 2013-6-13 12:58
有时候代码执行完成时,java的垃圾回收机制已经把资源释放掉,这样的话,就不用在释放了。。。
作者: 曹睿翔    时间: 2013-6-13 15:53
问题已经解决的,请及时更改分类为已解决,方便大家查阅,没有的继续追问
关于提问技巧请看:http://bbs.itheima.com/thread-53229-1-1.html




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2