示例:
try(ResultSet rs = DriverManager.getConnection(url, us, pw).createStatement().executeQuery(sql)) {
//mycode
}
我没有对Connection
或Statement
的任何提及,它们是否会被关闭,如果它们执行了什么命令?
感谢
答案 0 :(得分:3)
根据language specification,它只会关闭ResultSet
对象。这是因为try-with-resources语句使用资源规范,其中使用变量声明资源:
TryWithResourcesStatement:
try ResourceSpecification Block [Catches] [Finally]
ResourceSpecification:
( ResourceList [;] )
ResourceList:
Resource {; Resource}
<强>
Resource:
强><强>
{VariableModifier} UnannType VariableDeclaratorId = Expression
强>