Boas pessoal,
estou setando desta forma :
int r1 = (Integer) jtable.getValueAt(a,3);
quando corro este metodo ele devolve me o erro :
java.lang.ClassCastException: java.lang.String
Tambem tentei :
Double r1 = (Double)jtable.getValueAt(a,3);
e deu me o mesmo erro.
Alguerm pode me ajudar com isso ?
ateubh
Abril 24, 2006, 7:41am
#2
Você está tendando converter um objeto em um tipo primitivo
int r1 = (Integer) jtable.getValueAt(a,3);
jTable - retorna um objeto
Integer é um objeto
int é um tipo primitivo
tente das seguintes formas
Integer r1 = (Integer) jtable.getValueAt(a,3);
ou
int r1 = new Integer( jtable.getValueAt(a,3) ).intValue();
David
Abril 24, 2006, 8:45am
#3
Na verdade você está tentando converter uma String (java.lang.ClassCastException: java.lang.String) em um Integer ou Double, o que não é possível. Se você quer fazer isso, pode usar:
int r1 = Integer.parseInt(jtable.getValueAt(a,3));
ateubh
Abril 24, 2006, 8:49am
#4
O método jtable.getValueAt(a,y) não retorna uma String e sim um Object
David
Abril 24, 2006, 9:12am
#5
Retorna um Object porque você também seta um Object e ele deve ter setado com uma String. O trecho abaixo imprime true:
JTable t = new JTable(5, 5);
t.setValueAt("", 1, 1);
System.out.println(t.getValueAt(1, 1) instanceof String);