7
    public boolean used[] = new boolean[26];

这就是我所拥有的,而且效果很好。我知道默认情况下它们都将设置为 false。但是,由于我的应用程序使用了一段时间,其中一些更改为“true”。(这很好,因为这是我的代码应该做的)。

我正在尝试创建一个“重置”按钮,它将模拟类似重置的操作。所有变量都恢复到最初创建窗口时的状态(所有图纸都消失了 - 只需重新启动)。

而且我需要所有这些真正的布尔值一举回到错误状态。有任何想法吗?

4

5 回答 5

20

使用Arrays.fill

Arrays.fill(used, false);
于 2012-05-08T04:09:27.777 回答
3

Arrays.fill在填充数组之前使用范围检查。

public static void fill(Object[] a, int fromIndex, int toIndex, Object val) {
        rangeCheck(a.length, fromIndex, toIndex);
        for (int i=fromIndex; i<toIndex; i++)
            a[i] = val;
    }

/**
     * Check that fromIndex and toIndex are in range, and throw an
     * appropriate exception if they aren't.
     */
    private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
        if (fromIndex > toIndex)
            throw new IllegalArgumentException("fromIndex(" + fromIndex +
                       ") > toIndex(" + toIndex+")");
        if (fromIndex < 0)
            throw new ArrayIndexOutOfBoundsException(fromIndex);
        if (toIndex > arrayLen)
            throw new ArrayIndexOutOfBoundsException(toIndex);
    }

如果你不需要 rangeCheck,你可以使用forloop来填充你的布尔数组。

for(int i = 0; i < used.length; ++i){
    used[i] = false;
}
于 2012-05-08T14:28:42.093 回答
2

您可以重新创建数组,默认情况下它将初始化为 false。

那就是当您实施重置时,您可以做到

used[] = new boolean[26];
于 2012-05-08T20:04:19.093 回答
1

使用java.util.Arrays.fill()

Arrays.fill(used, false);
于 2012-05-08T04:10:00.803 回答
0
    boolean a[]= new boolean[nums.length];

    Arrays.fill(a, false);

// 这将帮助您用 false 填充布尔数组。

// 记得 -> import java.util.Arrays;

于 2020-12-15T08:31:44.893 回答