写代码时碰到
try (Connection c = DbUtil.getConnection();
Statement createStatement = c.createStatement();)
{
String sql = "select count(*) from config";
ResultSet executeQuery = createStatement.executeQuery(sql);
while(executeQuery.next())
{
total = executeQuery.getInt(1);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
应该是try块退出时,会自动调用c.close()方法,关闭资源。
==等价于
Connection c = null;
try {
c = DbUtil.getConnection();
Statement createStatement = c.createStatement();
String sql = "select count(*) from config";
ResultSet executeQuery = createStatement.executeQuery(sql);
while(executeQuery.next())
{
total = executeQuery.getInt(1);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
finally{
if(c!=null) c.close();
}
很明显,上面舒服多了