“ final int i”如何在Java for循环内部工作?

我很惊讶地看到下面的Java代码片段已编译并运行:

for(final int i : listOfNumbers) {

System.out.println(i);

}

其中listOfNumbers是整数数组。

我以为最终声明只分配了一次。编译器是否正在创建Integer对象并更改其引用?

回答:

想象一下,速记看起来很像这样:

for (Iterator<Integer> iter = listOfNumbers.iterator(); iter.hasNext(); )

{

final int i = iter.next();

{

System.out.println(i);

}

}

以上是 “ final int i”如何在Java for循环内部工作? 的全部内容, 来源链接: utcz.com/qa/398117.html

回到顶部