在 java 中初始化布尔数组

2022-08-31 09:39:02

我有此代码

public static Boolean freq[] = new Boolean[Global.iParameter[2]];
freq[Global.iParameter[2]] = false;

有人可以告诉我我在这里到底做错了什么,我该如何纠正它?我只需要将所有数组元素初始化为布尔假。谢谢


答案 1

我只需要将所有数组元素初始化为布尔假。

要么使用代替,以便所有值都默认为 :boolean[]false

boolean[] array = new boolean[size];

或者使用 Arrays#fill()Boolean.FALSE 填充整个数组:

Boolean[] array = new Boolean[size];
Arrays.fill(array, Boolean.FALSE);

另请注意,数组索引从零开始。你那里的线会导致.要了解有关 Java 中数组的更多信息,请参阅此 Oracle 基础教程freq[Global.iParameter[2]] = false;ArrayIndexOutOfBoundsException


答案 2

分配数组时,它将初始化为 false。

Java 中的所有数组都初始化为该类型的缺省值。这意味着 int 数组初始化为 0,布尔数组初始化为 false,引用类型数组初始化为 null。