Lambda Expressions

Aula
Estado
💡
Implementação em linha de uma functional interface
Como uma functional interface declara apenas um método, o compilador consegue inferir qual método você está sobrescrevendo. Por isso é possível utilizar expressões lambda para poupar esforço.
notion image
  • Quando nenhum tipo é definido, os parâmetros lambda são tipados de acordo com o contexto
  • Em uma expressão simples return, {...} e (p1, p2) (para parâmetros) são desnecessários
  • Não é possível adicionar modificadores a parâmetros lambda sem definir seu tipo explicitamente
notion image

Method References

💡
Permite a utilização de métodos com assinatura compatível com a esperada, mesmo que não implementem a functional interface
  • O compilador identifica que a assinatura do método passado como referência é compatível com o método da functional interface. Isso possibilita ainda mais um nível de abstração.
  • Pode ser utilizado com <Class>::<staticMethod>, <object>::<instanceMethod>, <Class>::<instanceMethod> e <Class>::new
notion image
  • É possível utilizar os métodos concretos da functional interface
notion image