这个问题可能会重复出现,但我尝试了大部分解决方案,但没有一个适合我的问题。 引用此页面:https://docs.oracle.com/javase/tutorial/uiswing/components/table.html
我想创建 JTable 以从自定义类的对象中读取。作为初始步骤,我想使用 JTable 测试循环。如下:
Object[][] tripsData =new Object[3][6];
for(int j=0; j< 3;j++)
for(int i =0; i< 6;i++)
{ tripsData[j][i]= new Object[] {"Kathy", "Smith","wait", "Snowboarding", 5, "false"};
}
代码工作正常,除了输出如下所示:
[Ljava.lang.Object;@41488024
[Ljava.lang.Object;@54c83ae1
[Ljava.lang.Object;@161a4f2c
我尝试使用 toString() 和 valueOf(),但效果是一样的。 有什么建议可以解决
最佳答案
问题是您正在创建一个三维数组,而不是您需要的二维数组。在您的代码中,您使用
tripsData[j][i]= new Object[] {"Kathy", "Smith","wait", "Snowboarding", 5, "false"};
因此生成的对象
中的“Kathy”
有一个索引[j][i][0]
,“Smith "
有一个索引 [j][i][1]
等等。像这样填充你的数组:
Object[][] tripsData =new Object[3][6];
for(int j=0; j< 3;j++) {
tripsData[j] = new Object[]{"Kathy", "Smith", "wait", "Snowboarding", 5, "false"};
}
然后这两个
for (Object[] row : tripsData) {
for (int j = 0; j < data[0].length; j++) {
System.out.print(row[j]);
System.out.print("\t");
}
System.out.print("\n");
}
还有这个
for (Object[] row : tripsData) {
System.out.println(Arrays.toString(row));
}
可以正常工作
关于java - JTable 二维对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50235246/