jel*_*ish 6 java arrays foreach loops
我有一个非常简单的循环:
int[] positions = {1, 0, 0}
//print content of positions
for (int i : positions)
{
if (i <= 0) i = -1;
}
//print content of positions
Run Code Online (Sandbox Code Playgroud)
现在,我期望获得的是:
array: 1, 0, 0
array: 1, -1, -1
Run Code Online (Sandbox Code Playgroud)
但我得到了
array: 1, 0, 0
array: 1, 0, 0
Run Code Online (Sandbox Code Playgroud)
只是......为什么?
亲切的问候,水母
Łuk*_*nik 19
因为" i"是数组元素的副本而不是对它的引用:)您修改局部变量,而不是数组的元素
这段代码相当于
for(int index = 0; index < array.length; index++) {
int i = array[index];
...
}
Run Code Online (Sandbox Code Playgroud)