I/O Iniciante

Use variáveis efetivamente finais diretamente no try-with-resources.

✕ 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.
🧹

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
Melhoria no try-with-resources
Disponível

Amplamente disponível desde o JDK 9 (setembro de 2017)

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.

Compartilhar 𝕏 🦋 in