Quando uso a classe Comparator no meu código,
Comparator<Conta> comp = (Conta c1, Conta c2) -> {
String nomeC1 = c1.getTitular().getNome();
String nomeC2 = c2.getTitular().getNome();
return nomeC1.compareTo(nomeC2);
};
na hora de rodar me mostra os resultados por ordem de numero da conta e não pelo nome do titular, porem quando uso o método sort() do meu ArrayList,
lista.sort((Conta c1, Conta c2) -> {
String nomeC1 = c1.getTitular().getNome();
String nomeC2 = c2.getTitular().getNome();
return nomeC1.compareTo(nomeC2);
}
);
funciona e ordena pelo nome perfeitamente...
o método compareTo() sobrescrito na classe Conta está assim:
@Override
public int compareTo(Conta outra) {
return Double.compare(this.saldo, outra.saldo);
}
Para poder usar a classe Comparator, igual no primeiro exemplo, precisa mudar o método compareTo da classe Conta, para que compare pelo nome do titular?