Feature Java: Unnamed Variables & Patterns

Por Gaspar Barancelli Junior em 17 de abril de 2024

O Java 22, lançado em março de 2024, introduziu diversas novidades na linguagem, entre elas a funcionalidade Unnamed Variables & Patterns (variáveis e padrões sem nome). Essa funcionalidade, proposta no JEP 456, visa melhorar a clareza, legibilidade e manutenabilidade do código Java.

Qual o conceito dessa feature?

Esta feature permite que você declare variáveis locais, parâmetros lambda e parâmetros de exceção sem atribuir um nome a elas. Isso pode ser útil em situações em que a variável não é utilizada ou seu nome não é relevante para a compreensão do código.

Vantagens da utilização

  • Maior clareza do código: Ao omitir nomes irrelevantes, o código se torna mais conciso e fácil de entender, especialmente para quem não está familiarizado com a base de código.

  • Redução de erros: A ausência de nomes desnecessários diminui a chance de erros de digitação e de nomes conflitantes.

  • Melhoria na manutenabilidade: O código se torna mais fácil de manter, pois as variáveis com significado real se destacam e são mais fáceis de identificar.

Exemplos de uso

1 - Loops

var list = List.of("blog", "gaspar", "barancelli");

// < java 21
for (String item : list) {
    System.out.println("Declaro a variável item mas não utilizo");
}

// uso da feature com java 22
for (String _ : list) {
    System.out.println("Não declaro variável");
}

1 - Lambdas

JButton button = new JButton("Clique aqui");

// < java 21
button.addChangeListener(listener -> {
    System.out.println("Usuário clicou no botão");
});

// uso da feature com java 22
button.addChangeListener(_ -> {
    System.out.println("Usuário clicou no botão");
});

1 - Tratamento de Exceções

// < java 21
try {
    Integer.parseInt("gasparbarancelli.com");
} catch (Exception e) {
    // realizo alguma operação mas não faço uso da variável e
}

// uso da feature com java 22
try {
    Integer.parseInt("gasparbarancelli.com");
} catch (Exception _) {
    System.out.println("Ignoro a exception");
}

1 - Retorno de métodos

var list = List.of("blog", "gaspar", "barancelli");

// < java 21
var item = list.remove(0);

// uso da feature com java 22
var _ = list.remove(1);

Limitações

  • Variáveis sem nome só podem ser usados para variáveis locais, parâmetros lambda e parâmetros de exceção.

  • Não é possível usar variáveis sem nome em campos, argumentos de método ou tipos de retorno.

  • É importante usar essa funcionalidade com cuidado para evitar código confuso ou difícil de entender.

Observações Gerais

  • O uso desta featre deve ser feito com cautela e bom senso.

  • É importante avaliar se a omissão do nome realmente contribui para a clareza e concisão do código.

  • Em alguns casos, utilizar um nome descritivo pode ser mais adequado para facilitar a compreensão.

  • A adoção consciente dessa funcionalidade, em conjunto com outras práticas modernas de programação, pode levar a um código Java mais limpo, expressivo e fácil de manter.

Conclusão

A feature Unnamed Variables & Patterns representa mais um passo na jornada de simplificação do Java. Essa evolução constante demonstra o compromisso da comunidade Java em manter a linguagem relevante e atualizada às demandas do mundo da programação.

// Compartilhe esse Post

💫
🔥 NOVO APP

Domine o Inglês em 30 dias!

Inteligência Artificial + Repetição Espaçada • Método cientificamente comprovado

✅ Grátis para começar 🚀 Resultados rápidos
×