[RESOLVIDO]Da string para o arraylist

O problema é o seguinte:
Tenho uma string contas="45,23," e gostaria de colocar estes valores num array, mas não estou conseguindo.
Segue meu código para analisarem:

   tamcred = idContaCred.length();
			tamdeb = idContaDeb.length();
			
			for(int i=0;i <= tamcred -1;i++){
				conta = idContaCred.substring(i, idContaCred.indexOf(","));
				Msg = objLanc.GerarLancamento(dataLanc,vlrcred,conta,desc,idEmp);
			}

Poderiam me ajudar por favor!!!

a) Você pode usar uma versão de “indexOf” que lhe permite continuar de onde você parou:

indexOf(ch,fromIndex)

b) Você pode usar String.split (que lhe retorna um String[]) e então inserir os elementos no arraylist usando Arrays.asList:

List<String> lista = new ArrayList<String>();
String[] array = "abcde,fg,hij".split (",");
lista.addAll (Arrays.asList (array));

[quote=ACPF1986]O problema é o seguinte:
Tenho uma string contas="45,23," e gostaria de colocar estes valores num array, mas não estou conseguindo.
Segue meu código para analisarem:

   tamcred = idContaCred.length();
			tamdeb = idContaDeb.length();
			
			for(int i=0;i <= tamcred -1;i++){
				conta = idContaCred.substring(i, idContaCred.indexOf(","));
				Msg = objLanc.GerarLancamento(dataLanc,vlrcred,conta,desc,idEmp);
			}

Poderiam me ajudar por favor!!![/quote]

Não sei pq está usando um array de String, mas de qq forma usa isso aqui.

String seuArray[] = contas.split(",");
				
	for (int i=0; i< seuArray.length ; i++){
		
		//Setando o valor de cada iteração
		seuObjeto.setAtributoQualquer(seuArray[i]);

	}

Mas cara na boa tenta rever seu código e vê se consegue usar outra coisa ao invés de Array de String.

Abraços.

Fabio Nascimento

Thingol, eu usei a opção (b) que vc escreveu no post.
Agora eu gostaria de saber como faço para colocar cada valor no meu objeto. Segue o codigo que fiz, mas que está com erro:

List<String> lista = new ArrayList<String>();
			String[] arrContas = conta.split(",");
			lista.addAll(Arrays.asList(arrContas));
			
			for(int i = 0;i <= lista.size();i++){
				Msg = objLanc.GerarLancamento(dataLanc,vlrcred,lista[i],desc,idEmp);
			}

[quote=ACPF1986]Thingol, eu usei a opção (b) que vc escreveu no post.
Agora eu gostaria de saber como faço para colocar cada valor no meu objeto. Segue o codigo que fiz, mas que está com erro:

[code]
List lista = new ArrayList();
String[] arrContas = conta.split(",");
lista.addAll(Arrays.asList(arrContas));

		for(int i = 0;i <= lista.size();i++){
			Msg = objLanc.GerarLancamento(dataLanc,vlrcred,lista[i],desc,idEmp);
		}

[/code][/quote]

Qual o erro gerado?

Veja se o lista[i] está tipado corretamente.

Coloca o conteúdo do metodo GerarLancamento para analisarmos.

Um arraylist não pode ser acessado com [] como se fosse um array (ou como se fosse em .NET). Você tem de usar o método get.