Cor*_*one 21 java foreach for-loop
是否可以使用'advanced'for循环在Java中初始化数组?
例如
Integer[ ] numbers = new Integer[20];
int counter = 0;
for ( Integer i : numbers )
{
i = counter++;
}
for ( Integer i : numbers )
{
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)
这打印所有空值,为什么?
Mar*_*ers 27
不,因为您没有分配给数组,所以您要分配给名为的临时变量i.该阵列没有看到变化.
以下显示使用普通for循环的大致等效代码.这应该可以更容易地了解为什么它无法更新数组:
for (int j = 0; j < numbers.length; j++) {
Integer i = arr[j]; // i is null here.
i = counter++; // Assigns to i. Does not assign to the array.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19725 次 |
| 最近记录: |