Paulo Oliveira
Paulo Oliveira11/03/2023 13:36
Compartilhe

(Java) -> Como funciona a notação Lambda

  • #Java

Em Java, a expressão lambda é uma nova característica introduzida na versão 8 da linguagem. Ela permite criar funções anônimas com sintaxe mais concisa e expressiva.

Uma expressão lambda em Java é composta por três partes principais:

  1. Argumentos: Uma lista de argumentos separados por vírgulas, que especifica os parâmetros que a expressão lambda recebe. Esses parâmetros podem ter tipos explícitos ou podem ser inferidos pelo compilador.

  2. Setas: O operador "->" separa os argumentos da expressão lambda do corpo da função.

  3. Corpo: O corpo da função contém a expressão que define a ação a ser realizada pela função. Esse corpo pode ser uma única expressão ou um bloco de código encapsulado em chaves "{}".

Um exemplo de expressão lambda simples em Java seria:

(x, y) -> x + y

Neste exemplo, a expressão lambda recebe dois argumentos "x" e "y", separados por vírgula, e retorna a soma de "x" e "y".

A expressão lambda pode ser atribuída a uma variável do tipo de uma interface funcional. Uma interface funcional é uma interface que define um único método abstrato. Essa interface pode ser definida pelo próprio programador ou pode ser uma das interfaces funcionais pré-definidas em Java, como a interface "java.util.function.Consumer" ou "java.util.function.Predicate".

Por exemplo, suponha que tenhamos uma interface funcional "Operacao" que define um único método abstrato "calcular", que recebe dois números inteiros e retorna um valor inteiro:

interface Operacao {

  int calcular(int x, int y);

}

Agora podemos usar uma expressão lambda para implementar essa interface:Agora podemos usar uma expressão lambda para implementar essa interface:

Operacao soma = (x, y) -> x + y;

Operacao subtracao = (x, y) -> x - y;

Neste exemplo, usamos as expressões lambda para criar duas instâncias da interface "Operacao", uma para realizar a soma de dois números e outra para realizar a subtração.

Finalmente, podemos chamar o método "calcular" da interface "Operacao" passando os argumentos necessários:

int resultadoSoma = soma.calcular(2, 3); // resultadoSoma = 5

int resultadoSubtracao = subtracao.calcular(5, 3); // resultadoSubtracao = 2

Compartilhe
Comentários (1)
Glauber Freitas
Glauber Freitas - 11/03/2023 13:50

Muito bom parabéns pela publicação, acredito que as notações lambda ajudam muito o código a ficar mais limpo e enxuto.