“ 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