Atribuir valor de ArrayList à String [RESOLVIDO]

11 respostas
A

Pessoal, não sei o que pode estar errado nesse código. Tenho uma ArrayList com algumas informações chamada “letras”

tentativas = 0; while(tentativas < quantasLetrasTemNoTexto){ String numeroASCIIdaLetraString = (String) letras.get(tentativas); tentativas++; }

O Java retorna o seguinte erro na linha 03:

OBS: lá na ArrayList os valores foram salvos todos como inteiros, mas o Java só deixa eu atribuir a uma String o valor da ArrayList, mas quando eu executo da o erro. Alguém sabe onde estou errando?

Muito Obrigado!

11 Respostas

surfzera

quem é o seu letras ???

alanbrasil1984

tentativas = 0; while(tentativas < quantasLetrasTemNoTexto){ String numeroASCIIdaLetraString = (String) letras.get(tentativas).toString(); tentativas++; }

surfzera

o certo seria você usar um for para capturar linha a linha, como acho que você está querendo fazer …

alanbrasil1984

a resposta foi feita de acordo com a quantidade de informação que me foi cedido.

wagner_a_lima

Você pode colocar os itens em sua lista já como strings, ou fazer o seguinte na linha 03:

String numeroASCIIdaLetraString = (String) letras.get(tentativas).toString();
lina

Oi,

Senhores.. sinto dizer + todos estão errados.

O Erro está acontecendo pq o ArrayList ou a Lista criada por ele foi atribuida do tipo e ele está tentando receber em uma String.

Acredito que você fez isso.:

ArrayList<Integer>
lo_list = new ArrayList<Integer>();
lo_list.add(1);
		
String
ls_teste = (String) lo_list.get(0);

Ou seja, inicializou o Array assim.: ArrayList Então como irá receber o conteudo em String ?

O Correto seria.: (Ou então receber um Integer no lugar de String)

ArrayList<String>
lo_list = new ArrayList<String>();
lo_list.add("1");
		
String
ls_teste = (String) lo_list.get(0);

Outra coisa... se o Cast de String não funcionou, pq o .toString + Cast funcionaria?

Tchauzin!

A

bah pessoal, vcs resolveram meu problema. Ao contrário do que a lina falou, foi só substituir a linha 3 por:

String numeroASCIIdaLetraString = (String) letras.get(tentativas).toString();

Lina: você falou uma coisa que me chamou muita atenção: eu não sabia que precisava informar o tipo de dado de uma ArrayList. Sempre criei ela assim:

ArrayList abc = new ArrayList();

e nunca tive problemas ao salvar números inteiros nela sem convertê-los para String. Acredito que ao criar dessa maneira, o Java define ela com String por padrão e, ao adicionar valores a ela, ele converte os valores para String também. Estou certo?

Muito abrigado galera, me ajudaram muito!

lina

alexcostars:
Lina: você falou uma coisa que me chamou muita atenção: eu não sabia que precisava informar o tipo de dado de uma ArrayList. Sempre criei ela assim:

ArrayList abc = new ArrayList();

e nunca tive problemas ao salvar números inteiros nela sem convertê-los para String. Acredito que ao criar dessa maneira, o Java define ela com String por padrão e, ao adicionar valores a ela, ele converte os valores para String também. Estou certo?

Oi,

Exatamente!

Tchauzin!

soro

Na realidade se você não definir o tipo, ele vai aceitar sendo como OBJECT.
Então ele vai deixar você adicionar qualquer objeto ao seu ArrayList, pois ele não tem nenhuma restrição em que tipo de dado vai ser inserido na sua Lista.

pmlm

O cast para String torna-se desnecessário. O toString já devolve uma String.

taaqui

Da uma estuda em generics, seria uma otima soma no seu projeto.


Criado 11 de agosto de 2009
Ultima resposta 12 de ago. de 2009
Respostas 11
Participantes 8