如何从二维对象数组中获取数据?

时间:2019-02-28 06:43:36

标签: java arrays

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();

例如无法正常工作。

1 个答案:

答案 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] : "";