Ao imprir o código entre a lista não ordenada e a lista ordenada, por algum motivo o método compare está imprimindo uma linha: "Conta: Conta: Conta: Conta: Conta: Conta: Conta: Conta: Conta: Conta: Conta: Conta:"
package br.com.ddBank.teste.util;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import br.com.ddBank.modelos.Conta;
import br.com.ddBank.modelos.ContaCorrente;
import br.com.ddBank.modelos.ContaPoupanca;
public class TesteOrder {
public static void main(String[] args) {
Conta cc1 = new ContaCorrente(124, 2403);
cc1.depositar(333.0);
Conta cc2 = new ContaPoupanca(124, 3502);
cc2.depositar(444.0);
Conta cc3 = new ContaCorrente(124, 2201);
cc3.depositar(120.0);
Conta cc4 = new ContaPoupanca(124, 2351);
cc4.depositar(250.0);
List<Conta> lista = new ArrayList<>();
lista.add(cc1);
lista.add(cc2);
lista.add(cc3);
lista.add(cc4);
for (Conta conta : lista) {
System.out.println(conta);
}
NumeroContaComparator comparator = new NumeroContaComparator();
lista.sort(comparator);
System.out.println("--------------------");
for (Conta conta : lista) {
System.out.println(conta);
}
}
}
class NumeroContaComparator implements Comparator<Conta> {
@Override
public int compare(Conta c1, Conta c2) {
return Integer.compare(c1.getNumero(), c2.getNumero());
}
}