gpt4 book ai didi

java - 我应该在 try-with-resources 语句中声明每个资源吗?

转载 作者:行者123 更新时间:2023-11-30 10:05:23 24 4
gpt4 key购买 nike

在我搜索过的许多 try-with-resource 示例中,Statement 和 ResultSet 是分开声明的。正如 Java 文档中提到的,资源的关闭方法以与创建资源相反的顺序调用。

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 的资源?

最佳答案

如果仔细观察,您会发现这个概念叫做 try-with-resources

注意复数!整个想法是您可以在该单个语句中声明一个或多个资源,并且 jvm 保证正确处理。

换句话说:当资源在语义上属于一起时,最好将它们一起声明。

关于java - 我应该在 try-with-resources 语句中声明每个资源吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55292683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com