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?