我惊讶地发现编译并运行了以下 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);
}
}
关于java - "final int i"如何在 Java for 循环中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3911167/