显示二维对象数组的字符串值



我试图通过JTable的行和列迭代后显示数组的内容。我尝试了Arrays.toString(myTwoDimensionalArrayVariable),但它不会显示字符串值。

我的目标是检查目的地 JTable的每行每列的重复,当用户试图从 JTable添加行值,这就是为什么我想显示数组的内容。

列上的值为doubleStringint的组合。

int myRowCount = aJTableParameter.getRowCount();
int myColumnCount = aJTableParameter.getColumnCount();
Object[][] myRowValues = new Object[myRowCount][myColumnCount];

for (int j = 0; j < myRowCount; j++) {
    for(int i = 0; i< myColumnCount; i++){
        myRowValues[j][i] = aDestinationTable.getValueAt(j, i);
     }
}
System.out.println(Arrays.toString(myRowValues));
if (Arrays.asList(myRowValues).contains(column1Value)
                && Arrays.asList(myRowValues).contains(column2Value)
                && Arrays.asList(myRowValues).contains(column3Value)
                && Arrays.asList(myRowValues).contains(column4Value)) {
            JOptionPane.showMessageDialog(null, "Duplicate, try again.");
 }else{
      //do something else
}

我只得到这个输出:

run:
Successfully recorded login timestamp
[]
[[Ljava.lang.Object;@35fa3ff2]
[[Ljava.lang.Object;@407c448d, [Ljava.lang.Object;@1e78a60e]

除了使用二维数组还有其他的选择吗?

我很感激你的帮助。

谢谢。

如果JTable单元格只包含字符串,则可以将数组定义为String[][]而不是Object[][],并使用aDestinationTable.getValueAt(j, i).toString()填充JTable内容。

编辑:既然不是这样(根据你的评论),可能最好使用列表,像这样:

    List<List<Object>> objectList = new ArrayList<>();
    for (int j = 0; j < 2; j++) {
        objectList.add(j, new ArrayList<>());
        for (int i = 0; i < 2; i++) {
            if (i==0) objectList.get(j).add("string" + j + i);
            if (i==1) objectList.get(j).add((double) 37.8346 * j * i);
        }
    }
    System.out.println("OBJECT LIST: "+objectList);
输出:

OBJECT LIST: [[string00, 0.0], [string10, 37.8346]]

你的代码应该是这样的:

    List<List<Object>> myRowValues = new ArrayList<>();
    for (int j = 0; j < myRowCount; j++) {
        myRowValues.add(j, new ArrayList<>());
        for (int i = 0; i < myColumnCount; i++) {
            myRowValues.get(j).add(aDestinationTable.getValueAt(j, i));
        }
    }
    System.out.println(myRowValues);

相关内容

  • 没有找到相关文章

最新更新