使用向量填充2Dimensional数组时出现NullPointerException

时间:2013-11-28 23:04:21

标签: java arrays vector multidimensional-array

我有一些问题,我似乎无法开展工作。我试图用for循环中的向量填充数组(因为向量的大小会随着时间的推移而变化)。 我在一个名为 StudentFactory 的类中创建了这样的矢量:

private Vector<StudentImpl> theListOfStudents = new Vector<StudentImpl>();

并将其传递给名为 table 的类,如下所示:

public Vector<StudentImpl> table() {
        return theListOfStudents;
    }

然后在类中,我尝试像这样填充2D数组:

        theFactory  = StudentFactory.getInstance();

        // Create columns names
        String columnNames[] = { "Name", "Address"};
        Vector<StudentImpl> temp;
        temp = theFactory.table();
        // Create some data
        String [][] data;
        for(int i = 0; i < temp.size(); i++) 
        {
               data[i][0] = temp.get(i).getTheName();
               data[i][1] = temp.get(i).getTheAddress();
        }


        // Create a new table instance
        table = new JTable(data, columnNames);

它一直告诉我将String [][] data;设置为null但是当我这样做时我得到空引用指针。这里的任何帮助都非常感谢

1 个答案:

答案 0 :(得分:1)

  

它一直告诉我设置String [] []数据;为空...

它并没有真正告诉你,而是数据尚未初始化。

根据Vector的大小将数据设置为所需的大小:

String[][] data = new String[temp.size()][2];