我正在努力在对象内部插入数组列表。使用我创建的对象,我计划在另一个对象中使用它,因为在JTable中使用它是必需的。
这是我的对象类。
class MyData {
private String name;
public MyData(String name) {
this.name = name;
}
}
我的主要课程是:
String[] tt = {"aa"};
MyData[] thePlayers = new MyData[0];
for(int i = 0;i < tt.length;i++){
thePlayers[i] = new MyData(tt[i]);
}
Object[][] data = {{"2"}};
String[] headers = { "Income Type" };
JTable table = new JTable(data, headers);
我的系统上收到此错误 线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:0
可能是什么原因?香港专业教育学院竭尽所能,但我仍然想不通。
更新
我遇到了另一个正在初始化的障碍 对象[] []。
示例:
Object[][] data;
如何使用我们在ThePlayers中应用的上述代码在forloop中初始化此代码?
答案 0 :(得分:0)
如评论中所述,但只需初始化与输入数据数组长度相对应的MyData对象数组
MyData[] thePlayers = new MyData[tt.length];
for(int i = 0;i < tt.length;i++){
thePlayers[i] = new MyData(tt[i]);
}
答案 1 :(得分:-1)
Java中的数组具有静态大小。在主类的第二行中,您声明了大小为0的thePlayers
-您将无法在其中放入任何内容。
简单的解决方法是使用适当的大小初始化数组。
String[] tt = {"aa"};
MyData[] thePlayers = new MyData[tt.length];
for(int i = 0;i < tt.length;i++){
thePlayers[i] = new MyData(tt[i]);
}
Object[][] data = {{"2"}};
String[] headers = { "Income Type" };
JTable table = new JTable(data, headers);
其他选择是使用具有动态大小的List
之类的东西。