Olá Galera, estou colocando em prática o que venho aprendendo nas aulas anteriores, nesta aula o professor faz uma ordenação usando a classe "Collections.sort", o método da classe Funcionario foi implementado corretamente no entanto não está ocorrendo essa ordenação conforme o método implementado.
public static void main(String[] args) throws IOException, ClassNotFoundException {
List<Funcionario> listafuncionarios = new ArrayList<Funcionario>();
listafuncionarios.add(new Funcionario("Wellington", 35, "123456-0", 1800.00));
listafuncionarios.add(new Funcionario("Girdacio", 28, "147258-6", 3500.00));
listafuncionarios.add(new Funcionario("Bill", 45, "147258-6", 5500.00));
ObjectOutputStream gerarArquivoFuncionario = new ObjectOutputStream(new FileOutputStream("arquivoFuncionario.bin"));
gerarArquivoFuncionario.writeObject(listafuncionarios);
gerarArquivoFuncionario.close();
ObjectInputStream conversaoArquivoFuncionario = new ObjectInputStream(new FileInputStream("arquivoFuncionario.bin"));
List<Funcionario> funcionarioList = (List<Funcionario>) conversaoArquivoFuncionario.readObject();
conversaoArquivoFuncionario.close();
Collections.sort(listafuncionarios);
funcionarioList.forEach(funcionario -> {
System.out.println("" + funcionario);
});
}
Segue o método implementado na classe Funcionário
@Override
public int compareTo(Funcionario outro) {
return (this.idade - outro.idade);
}