Boa tarde Galera tudo bom ?
Criei um arraylist da seguinte forma
listProdutos.add(;new Object[] {id,desc,caixa,qtd})
preciso recuperar os objetos mas não estou sabendo como ?
Agradeço a ajuda
Boa tarde Galera tudo bom ?
Criei um arraylist da seguinte forma
listProdutos.add(;new Object[] {id,desc,caixa,qtd})
preciso recuperar os objetos mas não estou sabendo como ?
Agradeço a ajuda
Você vai precisar criar um laço (for) dentro de outro laço. Com isso vc conseguirá ler os valores.
estou tentando da seguinte forma
produtos.forEach((pro) -> System.out.println(pro) ); mas meu resultado e esse
[Ljava.lang.Object;@14a3a033
[Ljava.lang.Object;@18cb842c
[Ljava.lang.Object;@6c38a896
[Ljava.lang.Object;@c9fabe2
[Ljava.lang.Object;@5b4307a
Sobrescreva o método toString da sua classe de produto.
Da forma como está fazendo, a variável pro dentro do forEach, é um array de objetos, com isso, você deve iterar sobre ele também:
Long a = 1L, b = 2L;
List<Object[]> produtos = new ArrayList<Object[]>();
produtos.add(new Object[] {a, b});
produtos.forEach(pro -> {
for(Object obj : pro) {
System.out.println(obj);
}
});
Assim:
for (Object[] array : listProdutos) {
System.out.println("id: " + array[0]);
System.out.println("desc: " + array[1]);
System.out.println("caixa: " + array[2]);
System.out.println("qtd: " + array[3]);
}
Mas se eu fosse você, ao invés de adicionar arrays de Object na sua lista, eu criaria uma classe Produto com os atributos id, descricao, caixa e quantidade.
Fiz da forma que falou mas não compila apresenta o erro for-each not applicable to expression type required array or java.lang.Iterable
Tentei desta forma mas não compila acusa o erro que o Objeto nao pode ser convertido para Objeto[ ]
Talvez seja a versão do java. Mas, de qualquer forma, faça como o @staroski passou que irá funcionar melhor.
Vou seguir a dica do nosso amigo staroski e criar uma classe
Crie uma classe e use-a no arraylist. É a forma mais correta.
Dica: crie o método toString da classe produto.
Facilita e muito !
Caso a classe só sirva pra isso, você pode cria-la dentro da própria classe que está sendo usado o array.
Então você esqueceu de tipar sua lista com <Object[]> na declaração.
Obrigado pessoal Criei um List de produtos para resolver o problema