如果我有100个布尔变量x1..x100都设置为true,那么如何轻松快速地将它们全部设置为false而不进行当时的操作?它可以在一个简单的循环中完成吗(for,while)?
答案 0 :(得分:2)
如果它们是单独的布尔变量,那么您所能做的就是明确地设置它们。你不能迭代它们,因为它们不在可迭代的结构中。
x1 = false;
x2 = false;
// ...
x100 = false;
(正如Elliott Frisch指出的那样,你可以将其缩短为x1 = x2 = ... = x100 = false;
,但这并不是真正的重大改变 - 除了以相反的顺序设置变量之外)
但是,实际上,你不应该有100个这样的变量 - 它们非常笨拙,编写100个这样的任务很容易出错(你很容易错过一个,或者错误地设置两个)。
如果您使用数组,则可以在循环中设置它们:
for (int i = 0; i < x.length; ++i) x[i] = false;
或使用Arrays.fill
:
Arrays.fill(x, false);
或者,您可以使用BitSet
,其set
和clear
方法设置位数范围。
答案 1 :(得分:0)