【发布时间】:2019-03-22 03:56:14
【问题描述】:
在我搜索过的许多 try-with-resource 示例中,Statement 和 ResultSet 是分别声明的。正如 Java 文档中提到的,资源的 close 方法是按照它们创建的相反顺序调用的。
try (Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql) ) {
} catch (Exception e) {
}
但现在我的函数中有多个查询。
我可以在一行中创建 Statement 和 ResultSet 吗?我的代码是这样的:
try (ResultSet rs = con.createStatement().executeQuery(sql);
ResultSet rs2 = con.createStatement().executeQuery(sql2);
ResultSet rs3 = con.createStatement().executeQuery(sql3)) {
} catch (Exception e) {
}
如果我只在一行中声明,是否仍然关闭ResultSet和Statement的资源?
【问题讨论】:
标签: java try-catch try-with-resources