Como usar expressões lambda em java 8

Java 8 introduz um novo recurso que em alguns aspectos é semelhante ao classes anônimas, mas com uma sintaxe mais concisa. Mais especificamente, uma expressão lambda permite que você crie uma classe anônima que implementa um tipo específico de interface chamada interface funcional

- que tem um e apenas um método abstrato.

Video: JAVA 8 - Lambda

o Bola interface atende essa definição:

Bola de interface {hit void () -}

Aqui o único método abstrato é o acertar método.

Video: Somar múltiplos de 3 ou 5 usando expressão Lambda em Java - Canal do Código

A interface funcional pode conter métodos adicionais, desde que não são abstratos. Até Java 8, isso não foi possível porque uma interface poderia conter métodos abstratos. No entanto, em Java 8 você pode criar métodos padrão que fornecem uma implementação padrão. Assim, uma interface funcional pode conter um ou mais métodos padrão, mas pode conter apenas um método abstrato.

Uma expressão lambda é uma maneira concisa para criar uma classe anônima que implementa uma interface funcional. Em vez de fornecer uma declaração de método formal que inclui o tipo de retorno, o nome do método, tipos de parâmetros, e corpo do método, você simplesmente definir os tipos de parâmetros e o corpo do método. O compilador Java infere o resto com base no contexto em que você usa a expressão lambda.

Video: JAVA FX - Aula 07 - Expressões Lambda - IDE ECLIPSE

Os tipos de parâmetros são separados do corpo do método por um novo operador, o chamado operador de seta, que consiste de um hífen seguido por um símbolo de maior que. Aqui está um exemplo que implementa o Bola interface:

() -gt; {System.out.println ("Você batê-lo!") -}

Aqui a expressão lambda implementa uma interface funcional, cujo único método não aceita parâmetros. Quando o método é chamado, o texto “Você batê-lo!” é impresso.



Você pode usar uma expressão lambda em qualquer lugar você pode usar uma expressão Java normal. Você vai usá-los mais em instruções de atribuição ou como parâmetros passados. A única restrição é que você pode usar uma expressão lambda somente em um contexto que requer uma instância de uma interface funcional. Por exemplo, aqui está um programa completo que usa uma expressão lambda para implementar o Bola interface:

classe pública LambdaBall {public static void main (String [] args) {Bola b = () -gt; {System.out.println ("Você batê-lo!") -} -b.hit () -} Bola de interface {hit void () -}}

A sintaxe geral para uma expressão lambda é esta:

Video: Tutorial Java - 8. Switch y Case

(Parâmetros) -gt; expressão

ou isto:

(Parâmetros) -gt; { declaração- ... }

Se você usar uma expressão, um ponto e vírgula não é necessária. Se você usar uma ou mais declarações, as declarações devem ser colocados entre chaves e um ponto e vírgula é necessária no final de cada declaração.

Não se esqueça que a declaração em que você usa a expressão lambda deve-se terminar com um ponto e vírgula. Assim, a expressão lambda no exemplo anterior tem duas ponto e vírgula em estreita proximidade:

Bola b = () -gt; {System.out.println ("Você batê-lo!") -} -

O primeiro ponto e vírgula marca o fim da instrução que chama System.out.println- o segundo ponto e vírgula marca o fim da instrução de atribuição que atribui a expressão lambda para a variável b.


Publicações relacionadas