ClassCastException

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 ?

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();

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));

O método jtable.getValueAt(a,y) não retorna uma String e sim um Object

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);