Melhoria no try-with-resources
Use variáveis efetivamente finais diretamente no try-with-resources.
Comparação de Código
✕ Java 8
Connection conn = getConnection();
// Must re-declare in try
try (Connection c = conn) {
use(c);
}
✓ Java 9+
Connection conn = getConnection();
// Use existing variable directly
try (conn) {
use(conn);
}
Viu um problema com este código? Nos avise.
Por que a forma moderna ganha
Sem redeclaração
Use o nome da variável existente diretamente.
Menos confusão
Sem nome de variável separado dentro do bloco try.
Conciso
Menos linhas, mesma segurança de recursos.
Abordagem Antiga
Redeclarar variável
Abordagem Moderna
Effectively Final
Desde o JDK
9
Dificuldade
Iniciante
Suporte JDK
Melhoria no try-with-resources
Disponível
Amplamente disponível desde o JDK 9 (setembro de 2017)
Como funciona
O Java 9 permite que variáveis efetivamente finais sejam usadas diretamente no try-with-resources sem redeclaração. Isso é mais limpo quando o recurso foi criado fora do bloco try.
Documentação Relacionada