初始化布尔数组[Java]

Initialize boolean Array [Java]

本问题已经有最佳答案,请猛点这里访问。

我有两个班:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class A {

    public int min, max;

    public A(int min_arg, int max_arg)
    {
        min = min_arg;
        max = max_arg;
    }

    public int getMin()
    {
        return this.min;
    }
    public int getMax()
    {
        return this.max;
    }
}

public class B
{
    private final boolean[] myBoolean;
    private final A testObject;

    public B(A testObject)
    {
        // I want to do something like this:
        for(int i = testObject.min(); i != testObject.max(); i++)
        {
            myBoolean[i] = false;
        }
    }
}

我想初始化类B中的数组"myboolean",并将所有值设置为false。问题是,它不会让我这么做。它所说的是空白的最终字段"MyBooLeIn"可能不被初始化。我已经看到有一个名为array.fill的函数(array,true/false);但这对我也没有帮助。有人知道用A类的min->max初始化数组myboolean的方法吗?我知道

1
private final boolean[] myBoolean;

没有大小,大小应为类A对象的最小值->最大值。我就是找不到办法。


您需要先初始化数组,

myBoolean = new boolean[size];

此外,布尔数组中的值默认设置为false。看到这里


您必须创建一个数组。您刚刚声明了一个引用。

1
myBoolean = new boolean[100];

或者用某个值n代替100。