如图所示,我在finally代码块中使用了JDBCUTIL工具类中的关闭资源方法,关闭打开的resultset, statement, connection,但是编译器报警告。java1.8,eclipse Neon.3
如果把JdbcUtil.close(resultset, statement, connection);移到finally代码块外面或者注释掉则没有警告,这是为什么?
解决方案 »
- 求教 JAVA中引用传递的问题?
- 错误: this.el is null 请高手帮忙解决下
- 求,怎样用二进制数据跟对象付值
- FCKeditor 上传图片尺寸如何限制?(把表格撑大了)
- 大家帮忙推荐几本值得深入学习的好书!
- j2ee小鸟诚心请教:如何在myEclipse里写第一个JavaBean?
- 关于web开发中的一些SOCKET的问题
- SwiftGantt 问题
- 一个spring中配置hibernate问题
- 请问如何用JB修改TOMCAT下的server.xml
- 疯了,求大神指点,myeclipse db borwser 连接mysql时报错。
- eclipse切换工作空间后新文件保存到了原工作空间
如果在你的第一个橙色框的语句之前就发生了异常,进入finally的时候,statement就是NULL
所以最稳妥的方法是
if (results != null) {
JdbcUtil.close(results);
}
if (statement != null) {
JdbcUtil.close(statement);
}
if (connection != null) {
JdbcUtil.close(connection);
}
JDBCUtil是我自定义的一个工具类,里面close()方法对传入的参数是否为空作了判断。
JDBCUtil是我自定义的一个工具类,里面close()方法对传入的参数是否为空作了判断。但是编译器并不知道,所以要么接受警告,要么做判断
JDBCUtil是我自定义的一个工具类,里面close()方法对传入的参数是否为空作了判断。你可以考虑把JDBCUtil,或close 方法 设置为 final
如果不是,那为啥不用try-with-resource的语法糖?