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

comparator<T>

Comparator<Conta> comp = new Comparator<Conta>() {  //  comparator é uma interface e pode instanciar objeto ?

    @Override
    public int compare(Conta c1, Conta c2) {
        String nomeC1 = c1.getTitular().getNome();
        String nomeC2 = c2.getTitular().getNome();
        return nomeC1.compareTo(nomeC2);
    }
};
2 respostas
solução!

Oie Samuel, tudo bem contigo?

Não, uma interface não pode instanciar objetos em hipótese alguma no Java.

O que acontece nessa situação é que o Java, "por baixo dos panos", está criando uma classe que estende a interface "Comparator" e instanciando ela. Por isso, por mais que pareça que seja a interface sendo instanciada, na verdade é uma classe que estende a interface. Outra coisa, é que por conta de ser uma classe anônima, ela não possui um nome e apenas pode ser usada naquele local.

Espero ter conseguido ajudar!

Se tiver qualquer outra dúvida estarei por aqui :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Ok.Obrigado,Igor. Abs.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software