Primeiro elemento do Vector

3 respostas
soaresinfo

é o seguinte pessoal, eu faço um consulta ao banco de dados e coloco o retorno num Vector, que eu consigo jogar numa JTable tudo bonitinho, a classe que faz isso tambem me retorna apenas um registro da consulta num Vector, e tambem me retorna apenas um item da consulta. Quando eu peço para me retorna um item (ele me retorna em forma de String) por exemplo o segundo campo da consulta (uma string) ele funciona normalmente

JOptionPane.showMessageDialog(null,odb.getItem(1,1));

este é o meu método:
getLinha retorna um Vector que contem apenas um registro da consulta com codigo, nome, endereço…

public String getItem(int iLinha, int iValor){
    if (iValor == 0)
      return (String) getLinha(iLinha).firstElement();
    else
      return (String) getLinha(iLinha).get(iValor);
  }

mas quando eu peço para ele me retorna o primeiro item (um inteiro):

JOptionPane.showMessageDialog(null,odb.getItem(1,1));

ele me retorna um erro:

java.lang.ClassCastException: java.lang.Integer
        at ObtemDadosBD.getItem(ObtemDadosBD.java:78)
        at TestaConectividade.getTable(TestaConectividade.java:59)
        at TestaConectividade.<init>(TestaConectividade.java:31)
        at TestaConectividade.main(TestaConectividade.java:74)

ele não deveria transforma meu item int para String com (String)??

3 Respostas

Rafael_Steil

Vector nao guarda tipos primitivos, logo ele nao pode guardar um int. voce tem um Integer, e logicamente dara erro de conversao ao fazer cast para String. Ao ivnes de fazer

return (String)getLinha(i).get(i)

faca

return getLinha(i).get(i).toString();

Rafael

soaresinfo

Valeu cara, era isso mesmo…

F

O java 1.5… faz esse casting automático. (Autoboxing)

Criado 10 de abril de 2004
Ultima resposta 10 de abr. de 2004
Respostas 3
Participantes 3