DEV Community

FUNDAMENTOS JAVA
FUNDAMENTOS JAVA

Posted on

Situações de Ambiguidade com Expressões Lambda

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)