Sobes.tech
Middle

O que são expressões lambda em Java e que funcionalidades elas oferecem?

sobes.tech IA

Resposta da IA

As expressões lambda em Java são funções anónimas que permitem escrever código de forma mais concisa, especialmente ao trabalhar com interfaces funcionais. Elas consistem num bloco de parâmetros, uma seta -> e o corpo da função.

Principais funcionalidades:

  • Redução de código: Eliminam a necessidade de criar classes internas anónimas para implementar interfaces funcionais.
  • Programação funcional: Simplificam a aplicação de conceitos de programação funcional, como passar funções como argumentos.
  • Melhoria da legibilidade: Em alguns casos, tornam o código mais compreensível e fácil de perceber.
  • Trabalho com a API Stream: São a base para trabalhar eficazmente com fluxos de dados em Java 8 e versões superiores.

Exemplo:

// Método tradicional com classe anónima
Runnable traditionalRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Olá do runnable tradicional");
    }
};

// Usando expressão lambda
Runnable lambdaRunnable = () -> System.out.println("Olá do lambda runnable");

A expressão lambda é vinculada a uma interface funcional — uma interface com um método abstrato. O tipo dos parâmetros e o valor de retorno da lambda são determinados pela assinatura desse método abstrato.