jTextField1.setText(((Integer)jTable.getValueAt(row, 1)).toString());
程序一执行到这里就出错了,不知道为什么
jTextField1接收的是数据库里面的一个字段,类型为numeric
请问一下高手,应该怎么改才不会出错啊,我是初学者

解决方案 »

  1.   

    jTextField1.setText(((Number)jTable.getValueAt(row, 1)).toString());
      

  2.   

    既然是numeric,就别用Integer转化,另外,建议你先看一下jTable.getValueAt(row, 1)取出来什么类型,如果是String的,
    还是用
    Integer.parseInt(jTable.getValueAt(row, 1)),或者new Integer(jTable.getValueAt(row, 1))
      

  3.   

    jTextField1.setText((Integer.parseInt(jTable.getValueAt(row, 1))).toString());
      

  4.   

    System.out.println((jTable.getValueAt(row,1)).getClass().getName());
    打印出来看看是什么类型,再去那个类里找相应的转换方法,这种通过获得的方法得到的不能乱转换类型,我有一次把Hibernate从数据库里取出来的值想当然地转成了Integer,总是报错,后来打印出来发现是BigInteger类型
      

  5.   

    java.lang.String cannot be cast to java.lang.Integer
    这个错误不是表明  无法把一个String 转换成Integer类型的错误吗?
      

  6.   

    从你的异常信息来看,jTable.getValueAt(row, 1)取出来的就是String,在向Integer转型时包错,
    可以根据楼上的同学说的,将实际的类型打印出来看看,再做转型操作不迟。