如 tuytuys question 中所述我将数据从 jTable 获取到二维数组。
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的数据,我已经调试过了。
问题是:如何从二维对象数组中获取字符串数据,其中包含来自 jTable 单元格的字符串?
String s = newarr[0][1].toString();
例如不起作用。
最佳答案
我认为您想要做的是将 Object
转换为 String
。为此,只需确保 newarr[0][1]
是 instanceof String
。使用 ?
插入 if
语句的示例代码。我所做的基本上是检查 newarr[0][1]
是否为 String
然后将其分配给 s
否则分配 ""
:
String s = (newarr[0][1] instanceof String) ? (String)newarr[0][1] : "";
关于java - 如何从二维对象数组中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54919853/