如tuytuys question中所述,我将数据从jTable获取到2d数组。
Object [][] newarr = null;
newarr = getTableData(jTable);
getTableData的代码:
public Object[][] getTableData (JTable table) {
DefaultTableModel dtm = (DefaultTableModel) table.getModel();
int nRow = dtm.getRowCount();
int nCol = dtm.getColumnCount();
Object[][] tableData = new Object[nRow][nCol];
for (int i = 0 ; i < nRow ; i++){
for (int j = 0; j < nCol ; j++)
tableData[i][j] = dtm.getValueAt(i,j);
}
System.out.println(Arrays.asList(tableData));
return tableData;
}
newarr 2d对象数组包含jTable的数据,我已经调试了它。
问题是:如何从2d对象数组中获取字符串数据,其中jTable的单元格中是字符串?
String s = newarr[0][1].toString();
例如无法正常工作。
答案 0 :(得分:1)
我认为您想将Object
强制转换为String
。为此,只需确保newarr[0][1]
是instanceof String
。使用由?
语句插入的if
的示例代码。我所做的基本上是检查newarr[0][1]
是否为String
,然后将其分配给s
,然后分配""
:
String s = (newarr[0][1] instanceof String) ? (String)newarr[0][1] : "";