在我的java程序中,我使用了一个final变量。我们知道任何final变量的值都是固定的并且不能改变。那么为什么这个特定的程序运行良好?谁能解释一下。
public static void main(String args[])
{
int[] integerArray = { 1, 2, 3, 4, 5 };
for (final int j : integerArray) {
System.out.println(j);
}
}
最佳答案
它是循环体内的最终 - 但您实际上是为循环的每次迭代声明了不同的变量。
就好像你写了这样:
for (int i = 0; i < integerArray.length; i++) {
final int j = integerArray[i];
System.out.println(j);
}
同样,我们在循环的每次迭代中都有一个名为 j
的"new"局部变量...但每个变量都不会更改其值。
关于java - Java中final变量的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16481245/