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

Se o nome estiver em lower case.

O método compareTo utiliza a tabela unicode. Então caso o algumnome esteja em lower case muda a ordenção.

Para resolver eu passei tudo para lower case(podeia ser upper case também) dentro do meu comparator:

class ComparatorTitular implements Comparator<Conta> {

    @Override
    public int compare(Conta c1, Conta c2) {

        String nomeC1 = c1.getTitular().getNome().toLowerCase();
        String nomeC2 = c2.getTitular().getNome().toLowerCase();
        return nomeC1.compareTo(nomeC2);
    }
}

Seria uma solução viável ou tem algo melhor?

2 respostas
solução!

Oi José, tranquilo?

Existe sim cara, você pode usar uma versão alternativa desse mesmo método, o compareToIgnoreCase(). Como o nome já diz, ele ignora as diferenças de case e faz a comparação!

@Override
public int compare(Conta c1, Conta c2) {
    String nomeC1 = c1.getTitular().getNome();
    String nomeC2 = c2.getTitular().getNome();
    return nomeC1.compareToIgnoreCase(nomeC2);
}

Veja se é isso que resolve o problema! :D

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

Espero ter ajudado!!

Ahh, blz!! Eu realmente estava procurando se tinha algum método assim, mas passou despercebido. Obrigado.

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