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.