Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Comparator interface funcional?

Fiquei com dúvida sobre essa interface. Na documentação ela é citada como sendo funcional porém ao selecionar "abstract methods" na seção "Method Summary" dois métodos são filtrados entre todos. Porquê o equals() aparece por ali? Para ser funcional o requisito não é de no máximo um método abstrato?

https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html

Obrigado!

3 respostas
solução!

Conceitualmente, uma interface funcional possui exatamente um método abstrato. Porém, se uma interface declarar um método abstrato substituindo um dos métodos públicos de java.lang.Object, isso também não conta para a contagem do método abstrato da interface, já que qualquer implementação da interface terá uma implementação de java.lang.Object ou de outro lugar.

Ou seja, se for um método de Object (como é o caso do equals) ele não conta :)

Abraço!

Obrigado Otávio!

Por nada amigo, bons estudos!