DEV Community

Introdução às expressões lambda

  • Introduzidas no JDK 8.

  • Aumentaram o poder de expressão da linguagem Java.

  • Adicionaram novos elementos de sintaxe e otimizaram estruturas comuns.

  • Comparação: assim como os genéricos remodelaram Java no passado, as expressões lambda estão remodelando hoje.

  • Expressões lambda introduzem um estilo mais conciso e expressivo de programação.

  • Promovem uma programação mais funcional.

Expressão Lambda:

  • Método anônimo (sem nome).

  • Não é executado isoladamente; implementa métodos de uma interface funcional.

  • Equivalente a uma forma de classe anônima.

  • Lambdas também conhecida como closure (capturam variáveis de seu escopo).

Interface Funcional:

  • Contém apenas um método abstrato.

  • Representa uma única ação ou finalidade.

  • Exemplo: Runnable com o método run().

  • Define o tipo de destino de uma expressão lambda.

  • Também chamada de tipo SAM (Single Abstract Method).

Regras e Observações

  • Uma expressão lambda só pode ser usada em contextos com um tipo de destino especificado.

  • O tipo de destino é o tipo esperado para a expressão lambda, e ele precisa ser compatível com o tipo do método abstrato da interface funcional

  • As interfaces funcionais podem incluir métodos públicos de Object (como equals()) sem perder seu status de interface funcional. Esses métodos são considerados implicitamente implementados.

Top comments (0)