public static ArrayList<Fornecedor> imprimiTodosForne() throws Exception{
ArrayList<Fornecedor> listaFornecedors = new ArrayList<>();
for(Pessoa pessoaCad : listaPessoas){
if(pessoaCad instanceof Fornecedor){
Fornecedor fornecedor = (Fornecedor) pessoaCad;
listaFornecedors.add(fornecedor);
}
}
Collections.sort(listaFornecedors);
return listaFornecedors;
}
private static void listaFornecedores() {
try {
ArrayList<Fornecedor> resposta = Comercial.imprimiTodosForne();
System.out.println(resposta.toString());
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
package dados;
import java.io.Serializable;
import java.util.GregorianCalendar;
public abstract class Pessoa implements Comparable<Pessoa>, Serializable{
public static final int CLIENTE = 1;
public static final int VENDEDOR = 2;
public static final int FORNECEDOR = 3;
private int codigo;
private String nome;
private String telefone;
private String email;
private GregorianCalendar dataCad;
public Pessoa(int codigo, String nome, String telefone, String email,
GregorianCalendar dataCad) {
super();
this.codigo = codigo;
this.nome = nome;
this.telefone = telefone;
this.email = email;
this.dataCad = dataCad;
}
// GET E SET AQUI
public int compareTO(Pessoa o){
return nome.compareTo(o.nome);
}
@Override
public String toString() {
return "Codigo: " + codigo + "\n" +
"Nome: " + nome + "\n" +
"Telefone: " + telefone + "\n" +
"E-mail: " + email + "\n" +
"Data de Cadastro: " + dataCad;
}
}
package dados;
import java.util.GregorianCalendar;
import utilitarios.LtpUtil;
public class Fornecedor extends Pessoa {
private String cnpj;
private String nomeContato;
public Fornecedor(int codigo, String nome, String telefone, String email,
GregorianCalendar dataCad, String cnpj, String nomeContato) {
super(codigo, nome, telefone, email, dataCad);
this.cnpj = cnpj;
this.nomeContato = nomeContato;
}
//GET E SET AQUI
public String toString() {
return
"\nCodigo: " + getCodigo() + "\n" +
"Nome: " + getNome() + "\n" +
"Telefone: " + getTelefone() + "\n" +
"E-mail: " + getEmail() + "\n" +
"Data de Cadastro: " + LtpUtil.formatarData(getDataCad(), "dd/MM/yyyy") + "\n" +
"CNPJ: " + LtpUtil.formatarCNPJ(cnpj) + "\n" +
"Nome do Contato: " + nomeContato;
}
@Override
public int compareTo(Pessoa o) {
return getNome().compareToIgnoreCase(getNome());
}
}
Pq ele não coloca em ordem alfabetica? Alguem sabe?