Adicionar dentro de uma ArrayList

13 respostas
renatofox89
Alguem sabe como faço para adicionar?
List<Usuario> usuarioList = query.getResultList();
        
ArrayList list = new ArrayList();   

list.addAll(usuarioList);

OBS: ESTÁ PEGANDO OS DADOS, MAS N SEI COMO ADICIONAR, ACHO Q ESTOU ADICIONANDO ERRADO.

13 Respostas

therodrigoagostin

Testa isso:

List<Usuario> usuarioList = query.getResultList();
List list = new ArrayList();
list.add(usuarioList);
renatofox89:
Alguem sabe como faço para adicionar?
List<Usuario> usuarioList = query.getResultList();
        
ArrayList list = new ArrayList();   

list.addAll(usuarioList);

OBS: ESTÁ PEGANDO OS DADOS, MAS N SEI COMO ADICIONAR, ACHO Q ESTOU ADICIONANDO ERRADO.

renatofox89

[b]Oi!

Tentei, mas n deu certo.

O que será q pode ser?[/b]

M

Tem certeza de que query.getResultList() esta retornando uma lista preenchida?

Experimente dar um System.out.println(usuarioList) e ver se a lista esta realmente preenchida.

Té mais.

renatofox89

Ele retorna:

[CadUsuariosSistema.Usuario[ id=3 ], CadUsuariosSistema.Usuario[ id=1 ], CadUsuariosSistema.Usuario[ id=2 ], CadUsuariosSistema.Usuario[ id=4 ], CadUsuariosSistema.Usuario[ id=5 ]]

e realmente eu tenho 5 registros inclusive o campo ID

ViniGodoy

Por que você está copiando uma lista em outra? E pior ainda, numa lista sem tipo especificado?

Além de uma operação inútil, você está transformando um código seguro num inseguro. É isso mesmo que você quer!??!

therodrigoagostin

Tenho que concordar com ViniGodoy.

ViniGodoy:
Por que você está copiando uma lista em outra? E pior ainda, numa lista sem tipo especificado?

Além de uma operação inútil, você está transformando um código seguro num inseguro. É isso mesmo que você quer!??!

renatofox89

A questão é que estou trabalhando com uma classe pronta, framework,

e esse é o tipo de return que ele aceita,

Já tentei passar direto aceita, n dá problema, mas tb não carrega.

O metodo que recebe está assim:

public VOListResponse(List rows,boolean moreRows,int resultSetLength)

que é do tipo list, não do tipo List usuarioList, é isso mesmo?

ViniGodoy

renatofox89:
Ele retorna:

[CadUsuariosSistema.Usuario[ id=3 ], CadUsuariosSistema.Usuario[ id=1 ], CadUsuariosSistema.Usuario[ id=2 ], CadUsuariosSistema.Usuario[ id=4 ], CadUsuariosSistema.Usuario[ id=5 ]]

e realmente eu tenho 5 registros inclusive o campo ID

Então, a lista está preenchida. Por que você considera que não está dando certo?

renatofox89

Então é que eu não estou conseguindo fazer a persistencia em minha JPA, não sei pq, antes era o banco, eu arrumei…

agora essa list…

como vc diz q esta certo,

vo tentar caçar aqui

orbigado

renatofox89

Então um colega me sugeriu fazer isso:

list.addAll((ArrayList<Usuario>)usuarioList);

mas tb dá erro! java.lang.ClassCastException: java.util.Vector cannot be cast to java.util.ArrayList

Alguem sabe?

M

Mas espere um pouco.

usuarioList é uma lista ou um vetor?

renatofox89

é isso;

List<Usuario> usuarioList = query.getResultList();
M

Olha, provavelmente o método query.getResultList() esta retornando um Vector.

Então sua variável usuarioList é do tipo Vector e talvez seja por isso que uma exceção é lançada quando você tenta fazer isso:

list.addAll((ArrayList<Usuario>)usuarioList);

Você disse que estava tentando copiar uma lista em outra pois o método VOListResponse(…) requer uma List, mas acredito que você poderia passar o Vetor diretamente para esse método sem problemas, mais ou menos assim:

VOListResponse(query.getResultList(), moreRows, resultSetLength);

Té mais

Criado 15 de outubro de 2012
Ultima resposta 15 de out. de 2012
Respostas 13
Participantes 4