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

Interface java.util.Comparator

Saudações aos professores e alunos do Alura. Minha dúvida é sobre a interface Comparator. Dando uma olhada em sua implementação, observei que ela não possui apenas o método compare, mas também um outro método chamado equals. Este método também não deveria, obrigatoriamente ser implementado quando implementamos uma essa interface?

2 respostas
solução!

Oi Leonardo, tudo bem?

Essa é uma boa pergunta. O motivo para não precisarmos sobrescrevermos o método equals(), assim como fazemos com o compare(), se deve ao fato do java.lang.Object, ou simplesmente Object, já estar sobrescrevendo o equals() assim que um novo objeto é criado. Lembrando que Object é superclasse de todas as outras classes, por padrão qualquer objeto é capaz de fazer uso de seus métodos!

Inclusive se você criar um objeto e checar todos os métodos disponíveis, você encontra o equals(), e no final da mesma linha a palavra Object, indicando que foi a superclasse Object quem implementou/sobrescreveu esse equals().

Espero ter ajudado, qualquer dúvida é só avisar!

Bons estudos!!

Obrigado Thiago. Sua explicação foi bem esclarecedora! Um grande abraço!