在java中初始化一个布尔数组
我有这个代码
public static Boolean freq[] = new Boolean[Global.iParameter[2]]; freq[Global.iParameter[2]] = false; 有人能告诉我究竟我在这里做错了什么,我将如何纠正? 我只需要初始化所有的数组元素为布尔值false。 谢谢
我只需要初始化所有的数组元素为布尔值false。
 或者使用boolean[]以便所有的值默认为false : 
 boolean[] array = new boolean[size]; 
  或者使用Arrays#fill()来用Boolean.FALSE填充整个数组: 
 Boolean[] array = new Boolean[size]; Arrays.fill(array, Boolean.FALSE); 
 还要注意数组索引是从零开始的。  freq[Global.iParameter[2]] = false; 因为你在那里会导致ArrayIndexOutOfBoundsException 。 要了解更多关于Java的数组,请参考这个基本的Oracle教程 。 
分配数组时,该数组将被初始化为false。
Java中的所有数组都被初始化为该types的默认值。 这意味着整数的数组被初始化为0,布尔的数组被初始化为false,并且引用types的数组被初始化为空。
Java中的数组以0开始索引。因此,在您的示例中,您指的是数组之外的元素。
它应该可能是像freq [Global.iParameter [2] -1] = false;
你需要遍历整个数组来初始化它,这行只会初始化最后一个元素。
实际上,我非常肯定,Java中的布尔值默认为false,因此您可能不需要初始化。
最好的祝福
 他们将被默认初始化为false 。 在Java中,数组是在堆上创build的,数组中的每个元素都根据其types被赋予一个默认值。 对于boolean型数据types,默认值为false 。 
public static Boolean freq [] = new Boolean [Global.iParameter [2]];
Global.iParameter [2]:
它应该是const值
你知道什么是编码,如果这样输出:
运行:A = 5 2 2 6 B = 2 5 6 A中的所有元素都在B中。
运行:A = 5 2 2 6 1 B = 2 5 6 A与B有不同的元素。元素A不在B = 1中
运行:A = 5 2 2 6 1 B = 2 5 6 3 A与B有不同的元素。元素A不在B = 1元素B不在A = 3
运行:A = 5 2 2 6 1 B = 2 5 6 3 4 A和B有不同的元素。元素A不在B = 1中元素B不在A中= 3 4