Um recurso comum em algumas linguagens da JVM como Groovy e Scala, lambdas, também conhecidos como closures, são recursos comuns e poderosos para desenvolvedores funcionais. A primeira vez que eu vi achei muito estranho, mas depois de me aventurar um pouco, achei produtivo e interessante.
Em resumo, é o que fazíamos com classe anônima, mas de uma maneira menos verbosa e mais poderosa, temos um conjuntos de parâmetros e uma setinha "->" com o corpo da implementação: "parametros -> corpo". Temos algumas regras a serem seguidas:
- Utilizar chaves é opcional para sentenças simples (não múltiplas)
- Utilizar "return" é opcional se você tem uma expressão que retorna um valor
- Utilizar parênteses no parâmetro é opcional, se você tem apenas um parâmetro
- Declaração de tipos do parâmetro também é opcional