Problema com Cast

Olá pessoal,

Uso uns JDialogs aqui que retornam objetos (minhas entidades).

Tudo tem corrido bem até hj encontrar um prob q n entendi.

É o seguinte, tenho um método q tem como parâmetro um tipo Integer.

MinhaClasse.MeuMetodo((Integer)tbCliente.getValueAt(tbCliente.getSelectedRow(), 0));

Usei esse modelo para todas as vezes que precisei retornar um objeto em situações similares.

Só que em um caso específico tenho o seguinte erro:

Pra funcionar, tive q mudar tudo pra String, mas tá errado, tem q funcionar com Integer e “tem” que converter.

Dá pra ter alguma noção com a expliação?

Grato,

Tente :

Integer.parseInt();

Acontece que o JComboBox retornará uma String e não um inteiro. Algo como isso deve resolver:

inhaClasse.MeuMetodo(Integer.parseInt(tbCliente.getValueAt(tbCliente.getSelectedRow(), 0)));

[quote=marcobiscaro2112]Acontece que o JComboBox retornará uma String e não um inteiro. Algo como isso deve resolver:

inhaClasse.MeuMetodo(Integer.parseInt(tbCliente.getValueAt(tbCliente.getSelectedRow(), 0))); [/quote]

não necessariamente… ele retorna o objeto que estiver la… c tiver um String retorna uma string… c tiver um Bean retorna um bean, e assim por diante…

o que é mostrado no combobox é Objeto.toString() do objeto que estiver nele, por isso sempre aparece um texto… mais o valor de getSelectedRow() é na verdade um Objeto e não necessariamente uma String…

Se la houver um String que referece a um numero vc pode fazer isso que o marco falou, caso contrario, vc pode estar querendo saber o index ai c eu me lembro bem é algo como getSelectedRowIndex algo assim algo parecido, que retorna o inteiro referente a posição do item selecionado… ou caso o que estiver escrito no combobox (a string que aparece) seja um número, ai vc deve fazer o parse…

Olá Lavieri,

Eu resolvi aqui, deixei tudo como Integer (tipo original do campo), mas mesmo assim
ainda tive q fazer o cast, pq ele dizia q meu método esperava um Integer e estava
recebendo um Object.

Mas resolveu.

Ah… aproveitando um tikin dos seus conhecimentos, tem alguma dica
de site com exemplos de como trab com dadas em Java, olhei uns aqui,
mas continuo apanhando.

PS: Pra esclarecer, sou programador C# e estou em Java a 50 dias e decidi fazer
um sistema (pequeno) usando java, mas continuo apanhando de algumas
bobeiras ainda. :slight_smile:

Falew!

tudo depende de como vc esta montando o seu ComboBox… por exemplo

[code]ComboBoxModel cbxNumbersModel = new DefaultComboBoxModel(
new Integer[] {1,12,33,10,44,13});
JComboBox cbxNumbers = new JComboBox();
cbxNumbers.setModel(cbxNumbersModel);

[/code]

neste caso vc pode fazer o cast tranquilamente

Integer item = (Integer)cbxNumbers.getSelectedItem();

que tipo de coisa vc ker ??

“exemplos de como trab com dadas em Java” ??

vc quiz dizer datas ?

c for datas, é meio complexo mesmo… pessoal fala que tem um framework pra isso jodatime eu nunca usei…

Callendar é bem simples de usar, vc pode acessar todas as partes de uma data, e setar tudo tb

pra criar faz

Calendar teste = Calendar.getInstance();
teste.set(Calendar.MONTH, 3);

isso troca o mês do calendario para “3” os meses são os unicos especiais, vão de 0 a 11 … o resto é tudo normal… vc pode trocar cada campo do calendario usando este set…

teste.set(Calendar.DAY_OF_MONTH, 15);
teste.set(Calendar.YEAR, 2018 );

teste vai ter varios métodos, um deles é pra transformar em data

pode imprimir facilmente assim

DateFormat brDateFormat = new SimpleDateFormat(“dd/MM/yyyy”);
brDateFormat.format(teste.getTime());

o que te retornaria

15/04/2018

pra comparar datas vc pode usar

teste.after(outroCallendar);

e assim

Sim eu quis dizer “datas” :slight_smile:

Hm, blz…

Já tinha visto algo sobre o Calendar, acho q vai acabar sobrando pra ele mesmo então.

Tenho outra dúvida (tá f…), vou lançar em outro tópico, sobre Collections.

Mas, brigadão por enqto!