我正在尝试为某个指定数字分配布尔数组值,但我不断得到java.lang.NullPointerException
这是我的代码
Boolean[] apps = null;
for (int i = 0; i < 30; i++){
apps[i] = false;
}
你没有初始化数组。该apps
变量与 NULL 没有什么不同。
Boolean[] apps = new Boolean[30];
for (int i = 0; i < 30; i++)
apps[i] = false;
尝试如下:
Boolean[] apps = new Boolean[30]; for (int i = 0; i < 30; i++) apps[i] = false;
你没有初始化数组。apps 变量与 NULL 没有什么不同。
i
因此无法找到对位置成员的调用。看看这里就明白了
Boolean[] apps = new Boolean[30];
for (int i = 0; i < 30; i++)
apps[i] = false;
你没有初始化你的数组,所以它崩溃了,因为它是空的
Boolean[] apps = new Boolean[30];
for (int i = 0; i < apps.length; i++)
apps[i] = false;
您必须实例化数组 apps = new Boolean[30];
您尚未为应用程序 [] 初始化/分配内存。这就是为什么你得到NULL Pointer Exception.
Boolean[] apps = new Boolean[30];
for (int i = 0; i < apps.length; i++){
apps[i] = false;
}
如果您想避免使用循环来初始化所有元素,则可以将其声明为 a boolean[]
,因为原语的默认boolean
值为false
:
boolean[] apps = new boolean[30];
或者你可以使用Arrays#fill(Object[], Object)
:
Boolean[] apps = new Boolean[30];
Arrays.fill(apps, false);