Со ссылкой на мой вопрос какой-либо риск в автоматической обертке для java.util.concurrent.locks.lock?, мне интересно, зачем, зачем, затратывает resource-statement, требуется именная локальная переменная вообще.try (AutoCloseableReentrantReadWiteLock.Lock l = _lock.writeLock()) {
// do something
}
Переменная l не используется в блоке Try и только загрязняет пространство имен. Из того, что я могу вспомнить, аналогичный C# с использованием -statement не требует локальной именованной переменной.
Есть ли какая-то причина, по которой следующая не могла быть поддержана, с анонимной локальной переменной, которая закрыта в конце блока Try?
try (_lock.writeLock()) {
// do something
}
Подробнее здесь: https://stackoverflow.com/questions/165 ... l-variable
Зачем Try-with-resource требуется локальная переменная? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение