对象中的数组[] []

时间:2019-06-10 07:39:34

标签: java

我正在努力在对象内部插入数组列表。使用我创建的对象,我计划在另一个对象中使用它,因为在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中初始化此代码?

最后,当我运行程序时,它没有显示为数组中指定的内容。 enter image description here

2 个答案:

答案 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之类的东西。