-4

我正在尝试为某个指定数字分配布尔数组值,但我不断得到java.lang.NullPointerException

这是我的代码

 Boolean[] apps = null;
    for (int i = 0; i < 30; i++){
    apps[i] = false;
}
4

7 回答 7

2

你没有初始化数组。该apps变量与 NULL 没有什么不同。

Boolean[] apps = new Boolean[30];
for (int i = 0; i < 30; i++)
apps[i] = false;
于 2013-10-11T12:14:34.457 回答
2

尝试如下:

   Boolean[] apps = new Boolean[30];
    for (int i = 0; i < 30; i++)
    apps[i] = false;
于 2013-10-11T12:15:01.883 回答
2

你没有初始化数组。apps 变量与 NULL 没有什么不同。

i因此无法找到对位置成员的调用。看看这里就明白了

Boolean[] apps = new Boolean[30];
for (int i = 0; i < 30; i++)
    apps[i] = false;
于 2013-10-11T12:16:14.137 回答
1

你没有初始化你的数组,所以它崩溃了,因为它是空的

 Boolean[] apps = new Boolean[30];
    for (int i = 0; i < apps.length; i++)
    apps[i] = false;
于 2013-10-11T12:14:18.447 回答
1

您必须实例化数组 apps = new Boolean[30];

于 2013-10-11T12:15:15.977 回答
1

您尚未为应用程序 [] 初始化/分配内存。这就是为什么你得到NULL Pointer Exception.

Boolean[] apps = new Boolean[30];

for (int i = 0; i < apps.length; i++){
        apps[i] = false;
    }
于 2013-10-11T12:17:03.347 回答
0

如果您想避免使用循环来初始化所有元素,则可以将其声明为 a boolean[],因为原语的默认boolean值为false

boolean[] apps = new boolean[30];

或者你可以使用Arrays#fill(Object[], Object)

Boolean[] apps = new Boolean[30];
Arrays.fill(apps, false);
于 2013-10-11T12:24:51.503 回答