我想用java将表数据打印到Textarea中

我想用java将表数据打印到Textarea中,java,Java,在java中,我想将jTable(Table)数据打印到Textarea中(“代码中的AREA”),但当我运行下面给出的代码时,它不会打印文本区域中的所有行和列数据,并在输出中显示 输出错误为 “线程“AWT-EventQueue-0”java.lang.ClassCastException中的异常:无法将类java.lang.Integer转换为类java.lang.String(java.lang.Integer和java.lang.String位于加载程序“引导”的模块java.base中

在java中,我想将jTable(Table)数据打印到Textarea中(“代码中的AREA”),但当我运行下面给出的代码时,它不会打印文本区域中的所有行和列数据,并在输出中显示

输出错误为

“线程“AWT-EventQueue-0”java.lang.ClassCastException中的异常:无法将类java.lang.Integer转换为类java.lang.String(java.lang.Integer和java.lang.String位于加载程序“引导”的模块java.base中)”

我使用的代码

DefaultTableModel model1  = (DefaultTableModel) BILL_table.getModel();
int nRow = model1.getRowCount(), nCol = model1.getColumnCount();
Object [][] tableData = new Object [nRow][nCol];
for(int i = 0 ; i < nRow ; i++)
{ 
   for(int j = 0 ; j< nCol ; j++)
   {
   tableData[i][j] = model1.getValueAt(i, j);
   AREA.append ((String) tableData [i][j] + "\t");

   }
   AREA.append("\n");
}
DefaultTableModel1=(DefaultTableModel)BILL_table.getModel();
int nRow=model1.getRowCount(),nCol=model1.getColumnCount();
对象[][]表数据=新对象[nRow][nCol];
对于(int i=0;i


问题可能在这里:

AREA.append ((String) tableData [i][j] + "\t");
似乎
tableData[i][j]
Integer
(一个数字)的一个实例,它当然不能转换为字符串。正确的做法是将其转换为字符串:

AREA.append (tableData[i][j].toString() + "\t");
请注意,您甚至不必明确地这样做,因为每当您用字符串连接对象时,转换将自动发生。这样你就可以写了

AREA.append (tableData[i][j] + "\t");
即使
tableData[i][j]
恰好是
null
(在这种情况下,前者将抛出
NullPointerException