Была ли причина, по которой разработчики Java чувствовали, что локальным переменным не следует присваивать значение по умолчанию? Серьезно, если переменным экземпляра можно присвоить значение по умолчанию, то почему мы не можем сделать то же самое для локальных переменных?
И это также приводит к проблемам, описанным в этот комментарий к сообщению в блоге:
Ну, это правило наиболее расстраивает при попытке закрыть ресурс в блоке finally. Если я создам ресурс внутри попытки, но попытаюсь закрыть его в конце, я получаю эту ошибку. Если я перемещаю экземпляр вне try, я получаю еще одну ошибку, заявляя, что она должна быть в попытке.
Очень расстраивает.