Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Qual a vantagem de utilizar FunctionalInterface?

Boa tarde,

Durante meus estudos me deparei com "@FunctionalInterface". eu consegui entender como utilizar, mas não consegui enxergar a vantagem disso? Normalmente o uso de interfaces é para deixar o código mais "desacoplado", mas como isto é utilizado em "lambda", não consegui enxergar essa vantagem. Por favor, poderiam me dar uns exemplos aonde é vantajoso utilizar e porque?

Obrigado!

2 respostas
solução!

Fala ai Fernando, de boa ?

Então a ideia é nós escrevermos menos, basicamente.

Por exemplo iterar sobre uma lista :

for(Item item : lista){
    System.out.println(item);
}

A gente pode fazer isso com lambda :

lista.forEach(item -> 
    System.out.println(item);
    );

E a gente ainda pode escrever menos ainda, usando method reference :

lista.forEach(System.out::println);

Boa tarde, Fernando! Como vai?

Só pra complementar o que o Matheus já te disse, outra utilidade das interfaces funcionais é a possibilidade de programarmos utilizando uma sintaxe mais funcional e menos imperativa! O exemplo da iteração que ele te mostrou é um desses casos!

Grande abraço e bons estudos!