Java 5和6中for语句的最终变量

0 java

知道为什么这会在Java 5中编译而在Java 6中编译吗?

for(final int k=0; k<10; k++); 
Run Code Online (Sandbox Code Playgroud)

这背后的逻辑是什么?Java 5和6之间变量范围的任何变化?

我在Sun的文档中找不到任何关于此的内容.

Jon*_*eet 5

对我来说,它不能用Java 6或Java 1.3.1编译.(我无法轻松访问其他版本.)

我非常怀疑它会以任何"正常"版本编译javac- k++循环的一部分无效,因为k声明为final.

确定你在Java 5下编译它吗?哪个版本确切,在什么平台上?您使用的是IDE,还是来自命令行?