在多维数组中分配给arr [x] [y]时出现NullPointerException

nge*_*esh 1 java arrays matrix nullpointerexception multidimensional-array

我知道为什么有一个错误,我已修复它..我需要有人正确解释..它编译得很好但在runTime它显示行appString [i] [j] = s [j]的行空指针异常; ..有人知道原因......?

appString = new String[app.size()][];
for(int i = 0; i<app.size();i++)
{
    Vector appVec = (Vector) app.get(i);
    String[] s = new String[appVec.size()];
    appVec.toArray(s);
    for(int j = 0 ; j<s.length;j++)
    {
        //String s1 = s[j];
        appString[i][j] = s[j];
    }
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 7

您已经创建了顶级数组,但它的每个元素都是null.你需要这样的东西:

appString[i] = new String[s.length];
Run Code Online (Sandbox Code Playgroud)

在你的循环中.或者假设您不再需要数组,则无需循环:

appString = new String[app.size()][];
for(int i = 0; i<app.size();i++)
{
    Vector appVec = (Vector) app.get(i);
    String[] s = new String[appVec.size()];
    appVec.toArray(s);
    appString[i] = s;
}
Run Code Online (Sandbox Code Playgroud)