【问题标题】:Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String线程“AWT-EventQueue-0”中的异常 java.lang.ClassCastException:类 java.lang.Integer 不能转换为类 java.lang.String
【发布时间】:2020-04-24 21:46:17
【问题描述】:

我使用 OpenCSV jar 将 JTable 数据写入 CSV 文件。除非从表数据中读取数据,否则一切正常。每当我选择第一行时,它都能完美运行。但是当我选择不止一行时,它会给出标题中提到的异常。

下面是代码:

        DefaultTableModel tableModel = (DefaultTableModel) jTable1.getModel();
        int rows = Integer.parseInt((String)jTextField8.getText());
        String fileName = jTextField11.getText()+".csv";
        File file = new File("/Users/startelelogic/Desktop/fileName");
        if (jTable1.isEditing()){
            jTable1.getCellEditor().stopCellEditing();
        }
        try{
            FileWriter outputFile = new FileWriter(fileName);
            CSVWriter writer = new CSVWriter(outputFile);
            //  Adding Header to csv File
            String header[] = {"Sr. No.","CM","Liters"};
            writer.writeNext(header);
            //  Adding data to csv
            System.out.println("Rows \t:"+rows);
            for(int i=0; i<rows; i++){
                String[] data = new String[3];
                for(int j=0; j< tableModel.getColumnCount(); j++){
                    data[j] = (String)tableModel.getValueAt(i, j);
                }
                writer.writeNext(data);
                writer.close();
            }
            JOptionPane.showMessageDialog(null, "Table Data Written successfully!");
        }catch(IOException ex){
            JOptionPane.showMessageDialog(null, "FileWriting error");
            ex.printStackTrace();
        }

【问题讨论】:

    标签: java swing jtable opencsv


    【解决方案1】:

    java.lang.ClassCastException:类 java.lang.Integer 不能转换为类 java.lang.String

    好吧,错误消息告诉您问题所在。您不能将 Integer 对象设为 String 对象。

    data[j] = (String)tableModel.getValueAt(i, j);
    

    上面的语句假设表中的所有数据都是String的一个实例。

    您可以使用:

    data[j] = tableModel.getValueAt(i, j).toString();
    

    现在您的数据数组将包含每个对象的字符串表示形式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多