Ten*_*eff 1 java arrays for-loop
我有一个布尔数组
boolean[] test = {
false,
true,
true,
false,
true
};
Run Code Online (Sandbox Code Playgroud)
我试图用"for-each"语句翻转(true到false,false为true),如下所示:
for(boolean x : test) {
x = !x;
}
Run Code Online (Sandbox Code Playgroud)
但它只是改变x了局部范围内的变量.
我是Java的新手,我想问一下如何做到这一点,以及这是否是正确的方法.我搜索了很多,但大多数示例都用于从数组中收集数据而不进行修改.
不,那不是正确的方法.增强的for循环不允许您更改迭代的值.要反转数组,您需要使用常规for循环:
for (int i = 0; i < test.length; i++) {
test[i] = !test[i];
}
Run Code Online (Sandbox Code Playgroud)
(请注意,增强的for循环将允许您更改任何数组元素所引用的对象(如果它们是类) - 但这与更改元素本身的值不同.)
| 归档时间: |
|
| 查看次数: |
7169 次 |
| 最近记录: |