public boolean used[] = new boolean[26];
这就是我所拥有的,而且效果很好。我知道默认情况下它们都将设置为 false。但是,由于我的应用程序使用了一段时间,其中一些更改为“true”。(这很好,因为这是我的代码应该做的)。
我正在尝试创建一个“重置”按钮,它将模拟类似重置的操作。所有变量都恢复到最初创建窗口时的状态(所有图纸都消失了 - 只需重新启动)。
而且我需要所有这些真正的布尔值一举回到错误状态。有任何想法吗?
使用Arrays.fill
:
Arrays.fill(used, false);
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;
}
您可以重新创建数组,默认情况下它将初始化为 false。
那就是当您实施重置时,您可以做到
used[] = new boolean[26];
使用java.util.Arrays.fill()
:
Arrays.fill(used, false);
boolean a[]= new boolean[nums.length];
Arrays.fill(a, false);
// 这将帮助您用 false 填充布尔数组。
// 记得 -> import java.util.Arrays;