示例:
try(ResultSet rs = DriverManager.getConnection(url, us, pw).createStatement().executeQuery(sql)) {
//mycode
}
我没有任何对Connection
或Statement
的引用,它们也会被关闭吗?如果它们执行的话,顺序是什么?
谢谢
最佳答案
根据language specification ,它只会关闭ResultSet
目的。这是因为 try-with-resources 语句使用了资源规范,其中使用变量声明资源:
TryWithResourcesStatement:
try ResourceSpecification Block [Catches] [Finally]
ResourceSpecification:
( ResourceList [;] )
ResourceList:
Resource {; Resource}
<强>
Resource:
block 引用>
{VariableModifier} UnannType VariableDeclaratorId = Expression
关于java - 使用 try-with-resources 时,没有引用的资源是否也会自动关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35302863/