https://youtu.be/ux47Ell-hGY

Interfaces Funcionais

As interfaces funcionais são interfaces que possuem um único método abstrato. As interfaces funcionais foram a forma que o Java encontrou para permitir o uso de expressões lambdas para um estilo de programação funcional (veremos adiante no curso).

Para criar uma interface funcional, você deve anotar com a anotação @FuncionalInterface

@FunctionalInterface
public interface Cantor {
    String cantar();
}

→ As interfaces funcionais só devem ter um único método abstrato

→ As interfaces funcionais pode ter métodos default ou static

Expressões Lambdas

As expressões lambdas em Java é uma forma de criar uma implementação para uma interface funcional sem a necessidade de criar uma classe de fato.

Com isso, torna-se muito mais leve, principalmente se a implementação for simples.

A sintaxe mais simples de uma expressão lambda é:

paramter -> expression

Se tiver mais de um parâmetro, os parênteses devem ser utilizados: