【问题标题】:NullPointerException when assigning string from ArrayList to Java Array将字符串从 ArrayList 分配给 Java Array 时出现 NullPointerException
【发布时间】:2016-04-10 08:43:39
【问题描述】:

我的代码有问题,因为当我尝试将字符串从 arraylist 分配给 array 时,它会抛出 NullPointerException

 String[][] data = new String[idList.size()][];
 for(int i = 1; i<=idList.size(); i++) {
     data[i][0] = idList.get(i);
     data[i][1] = nameList.get(i);
     data[i][2] = hList.get(i);
     data[i][3] = sList.get(i);
     data[i][4] = fList.get(i);
     data[i][5] = mList.get(i);
     data[i][6] = osList.get(i);
     data[i][7] = tsList.get(i);
     data[i][8] = podList.get(i);
     data[i][9] = pacList.get(i);
 }

谁能告诉我如何解决这个问题?

【问题讨论】:

  • 在您的调试器中,您将能够看到data[0]null。我建议你初始化它们。

标签: java arrays nullpointerexception


【解决方案1】:

data[i]null,因为您已将 data 初始化为包含 idList.size() null 类型为 String[] 的引用。

改变

String[][] data = new String[idList.size()][];

String[][] data = new String[idList.size()][10];

这将初始化 data 以包含对长度为 10 (String[10]) 的 String 数组的 idList.size() 引用。

【讨论】:

    【解决方案2】:

    我建议正确定义数组(在两个维度上)

    替换这个

    new String[idList.size()][];
    

    类似的东西

    new String[idList.size()][10]; // you have 10 different lists there...
    

    并以零基数在 for 循环中迭代...

    示例:

        String[][] data = new String[idList.size()][10];
        for (int i = 0; i < idList.size(); i++) {
            data[i][0] = idList.get(i);
            data[i][1] = idList.get(i);
            data[i][2] = idList.get(i);
            data[i][3] = idList.get(i);
        }
    

    【讨论】:

      猜你喜欢
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 2011-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多