参考我的问题java.util.concurrent.locks.Lock的AutoCloseable包装中的任何风险?,我想知道为什么trh try-with-resource需要一个命名的局部变量.
我目前的用法如下:
try (AutoCloseableReentrantReadWiteLock.Lock l = _lock.writeLock()) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
该变量l在try块内未使用,仅污染命名空间.从我记忆中的类比C# using语句不需要本地命名变量.
是否有任何理由无法支持以下内容,并且在try块结束时关闭了一个匿名局部变量?
try (_lock.writeLock()) {
// do something
}
Run Code Online (Sandbox Code Playgroud)