Conversão de Object?

Galera desculpa a amolação,

modelo.getValueAt(0,0);

Mas me corrijam se eu estiver errado:

Este meu código acima, está retornando para mim um Object de acordo com o belo funcionamento de meu programa, só que: eu gostaria de saber se tem como eu converter isso para String por exemplo, para jogar em uma variável, pois estou utilizando o INSERT INTO para colocar os dados que o usuário digitou em meu TebleModel para colocar em meu banco.

Alguém pode me ajudar?

Valeu! 8)

modelo = ???
Qual o tipo que ele retorna?

Modelo é apenas a váriavel de minha TableModel, que nela resume-se dados e colunas para um melhor controle da TableModel. Não sei bem se é resume-se, mas acho que é bem por aí, esse negócio de utilizar TableModel está fundindo minha cabeça, mas creio que chego lá! :lol:

Se o getValueAt() te retorna um Object, faça um cast para String.

getValueAt(0,0).toString().

ou

(String)getValueAt(0,0)

Se você estiver usando o DefaultTableModel ele SEMPRE retorna uma String. Então isso deveria funcionar:

String x = (String) model.getValue(0,0);

ou então:

String x = model.getValue(0,0).toString();

Mas se você criou o seu próprio model, que controla dados de um tipo específico seu, você terá problemas quando, por exemplo, um dos valores for um Double. Imagine que a coluna 1 retorna um valor Double:

Double d = (Double) model.getValue(0,1);

Sacou o problema?

Ae galera, valeu mesmo, nem sabia que quando colocava entre parentese, (String)getValueAt(0,0) isso se chamava cast. :lol:

Valeu Rafael e Daniel,

Valeu mesmo, acho que isso resolverá meu problema! 8)

Se o tipo de dado que eh retornado eh uma String, entao voce nao precisa fazer casting numa concatenacao (no caso do teu INSERT), ja que isso eh implicito.
Por outro lado, se voce quiser atribuir a alguma variavel, vai precisar fazer casting sim.

Outro detalhe: Executar statements como

s.executeUpdate("INSERT INTO table (campo) VALUES ('" + variavel + "'");

eh uma bela falha de seguranca. O melhor a fazer eh usar PreparedStatements:

PreparedStatement p = conn.prepareStatement("INSERT INTO table (campo) VALUES (?)");
p.setString(1, variavel);
p.executeUpdate();
p.close();

Rafael

Valeu pela dica Rafael! 8)