我有一个 boolean 数组
boolean[] test = {
false,
true,
true,
false,
true
};
我正在尝试使用“for-each”语句翻转(真到假,假到真)值,如下所示:
for(boolean x : test) {
x = !x;
}
但它只是在局部范围内改变了 x
变量。
我是 Java 的新手,我想问一下如何做到这一点以及这是否是正确的方法。我搜索了很多,但大多数示例都是在不修改数组的情况下从数组中收集数据。
最佳答案
不,这不是正确的方法。增强的 for 循环不允许您更改正在迭代的内容的值。要反转数组,您需要使用常规的 for 循环:
for (int i = 0; i < test.length; i++) {
test[i] = !test[i];
}
(请注意,增强的 for 循环可以让您更改任何数组元素所引用的 对象,如果它们是类的话——但这与更改元素的值不同本身。)
关于Java for each循环迭代 boolean 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8972459/