Erro: parseDouble(java.lang.String)
Ele esta entendo q é uma String e nao esta convertendo é isto?
Mas por exemplo se tiver um valor numerico no array ele nao deixa passar ainda assim.
entao digamos q os valores q chegaram no meu array foram : “5”, “OI”.
Sendo assim o “5” ja foi extraido como numero e o “oi” com String.
E como o metodo ParseDouble so recebe Strings tenho q antes fazer a conversao para String. Resultando em 2 castings.
Esta é a melhor maneira?
A idéia não é bem essa, essa solução que eu te passei só serve se no seu Array houver um tipo uniforme de dados, só String ou só double.
Outro detalhe é que o método parseDouble trasnforma String em double, sendo assim, se vc passar uma String que não esteja no “formato” de um número, vai ocorrer um erro.
Na verdade meu array nao tem um tipo uniform de dados, posso receber tanto Strings como numeros.
Mas neste caso usei o try{} para testar o erro.
Se ao inves de Strings quizesse somente numeros, é correto um array de numeros?
[quote=von.juliano]O método toString() faz a conversão de um objeto para String.
No seu caso, vc vai utilizá-lo se seu ArrayList conter Strings pq o método parseDouble() deve receber uma String como argumento. Blz?:thumbup: [/quote]
Apenas uma observação qto a essa sua afirmação:
O Metodo .toString não converte um objeto para String. Ele retorna a representação String desse objeto.
confuso, mas tem muita diferença.
exemplo: tenho uma classe pais, com varios atributos: id, sigla, etc…
nessa classe, eu faço um override de .toString, fazendo o toString retornar a Sigla
dessa maneira, qdo adiciono objetos Pais numa combo, eu verei na combo apenas a Sigla do objeto (se vc nao sobrescrever o .toString ele vai exibir o hash acho).
Um ArrayList sempre retorna um objeto, independente do que vc coloca nele, entaum vc pode colocar variados tipos de dados nele, porém vai ter q fazer as verificações necessárias na hora de recuperá-los. ok? :thumbup:
E só pra constar, o cara q postou aí tem razão, acho que eu me expressei mau! :roll:
cria uma classe q encapsula esses attributos q vc quer:
class Teste {
private JLabel Label;
private int valor;
private int qtde;
private String msg;
... // cria os set's e get's... ou passa os argumentos ja no constructor
}
ai vc faz:
Teste t = new Teste()
t.setLabel(umaLabelQualquer);
t.setValor(valor);
t.setQtde(qtde);
t.setMsg(msg);
depois c vai na sua Collection (List, etc)… e faz
List.add(t);
ai vc tem os objetos todos adicionaods na lista… pra manipular depois vc faria algo como
Seria viavel fazer isto com o os dados vindos de um form.
Por ex: no getParameter() eu tenho todos os dados vindos dele né, label e valor. Faço um for até o fim do get parameter e coloco isto num beam.