Tópicos Principais:
Inferência de Tipos em Lambdas:
- Java 8 pode inferir o tipo de uma expressão lambda baseado no contexto
- Funciona bem quando há apenas uma interface funcional compatível
Casos de Ambiguidade:
- Ocorrem quando múltiplas interfaces funcionais têm a mesma assinatura
Exemplo entre Supplier e PrivilegedAction:
- Ambos têm um único método abstrato sem parâmetros que retorna T
Problema com Sobrecarga de Métodos:
- Quando existem métodos sobrecarregados com diferentes interfaces funcionais compatíveis
- O compilador não consegue determinar qual método usar
Solução para Ambiguidade:
- Uso de casting explícito para especificar o tipo da lambda
- Alternativa: usar referência de método quando possível
Ver: AmbiguidadeLambda.java
Top comments (0)