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.

- 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

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

- É possÃvel utilizar os métodos concretos da functional interface
