Oiii…
Será que alguém pode me ajudar com uma dúvida bestinha?
Estou inserindo List em uma classe mas quando vou pegar o retorno, ela vem vazia!
O código está abaixo…
Eu tenho uma classe assim:
public class Material {
private String nid = "";
private String identificacao = "";
private String descricao = "";
private String quantidade = "";
private List<String> seriais = new ArrayList<String>();
private List<String[]> arraySeriais = new ArrayList<String[]>();
//Para Consolidado Automático
public Material(final String nid, final String identificacao, final String descricao, final String quantidade){
setNid(nid);
setIdentificacao(identificacao);
setDescricao(descricao);
setQuantidade(quantidade);
}
public Material(final String nid, final String identificacao, final String descricao, final String quantidade, final List<String> seriais) {
setNid(nid);
setIdentificacao(identificacao);
setDescricao(descricao);
setQuantidade(quantidade);
setSeriais(seriais);
}
public Material(final String identificacao, final String descricao, final String nid ){
setNid(nid);
setIdentificacao(identificacao);
setDescricao(descricao);
}
public Material(final String nid, final String identificacao, final String descricao, final List<String[]> arraySeriais) {
setNid(nid);
setIdentificacao(identificacao);
setDescricao(descricao);
setArraySeriais(arraySeriais);
}
public List<String[]> getArraySeriais() {
return arraySeriais;
}
public void setArraySeriais(List<String[]> arraySeriais) {
this.arraySeriais = arraySeriais;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getIdentificacao() {
return identificacao;
}
public void setIdentificacao(String identificacao) {
this.identificacao = identificacao;
}
public String getNid() {
return nid;
}
public void setNid(String nid) {
this.nid = nid;
}
public String getQuantidade() {
return quantidade;
}
public void setQuantidade(String quantidade) {
this.quantidade = quantidade;
}
public List<String> getSeriais() {
System.out.println("Retornado: " + this.seriais.size()); //O tamanho aqui mostra 0 !!!
return this.seriais;
}
public void setSeriais(List<String> seriais) {
System.out.println("Seriais setados: " + seriais.size()); //O tamanho aqui mostra certo.
this.seriais = seriais;
System.out.println("Seriais setados depois: " + this.seriais.size()); //E aqui também!
}
}
E tenho outra assim:
public class RelatorioDevolucao extends Relatorios{
private String razaoSocial = "";
private String nomeFantasia = "";
private String endereco = "";
private String data = "";
private String usuario = "";
private List<Material> materiais;
public RelatorioDevolucao(final String razaoSocial, final String nomeFantasia, final String endereco,
final String data, final String usuario, final List<Material> lista
){
setRazaoSocial(razaoSocial);
setNomeFantasia(nomeFantasia);
setEndereco(endereco);
setData(data);
setUsuario(
setMateriais(lista);
}
//Métodos get e set
}
Estou testando as duas assim:
public static void main(String[] args){
List<Material> lista = new ArrayList<Material>();
List<String> ser = new ArrayList<String>();
ser.add("01");
ser.add("02");
lista.add( new Material("", "ident 01", "desc 01", "02", ser) );
ser.clear();
ser.add("03");
ser.add("04");
ser.add("05");
lista.add( new Material("", "ident 02", "desc 02", "03", ser) );
ser.clear();
RelatorioDevolucao rda = new RelatorioDevolucao("RAZAO SOCIAL", "NOME FANTASIA", "", "14/05/2009", "TCHELO", lista);
List<Material> materiais = rda.getMateriais();
for(Material m : materiais){
print(m.getIdentificacao(), 1, false);
print(m.getDescricao(), 14, false);
print("| " + m.getQuantidade() + " |", 32, true);
for(String s : m.getSeriais()){
System.out.println("Entrou no for dos seriais..."); //Nem entra neste for!!
print(s, 14, true);
}
pularLinhas(1);
}
}
mas toda hora a List que pego da Classe Material vem vazia!
Alguém poderia me ajudar???
Não estou entendendo o porque de estar vindo assim…
Obrigado!