Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用CodeModel使ForEach成为最终版本_Java_Sun Codemodel - Fatal编程技术网

Java 使用CodeModel使ForEach成为最终版本

Java 使用CodeModel使ForEach成为最终版本,java,sun-codemodel,Java,Sun Codemodel,我正在使用com.sun.codemodel生成一些java实体对象 我想生成一个for循环,如下所示:- for (final Field field : classFields) {} 然而,我只能做到这一点 for (Field field : classFields) {} 可以在ForEach生成的语句中添加final吗?这里不需要添加final修饰符,因为Java中的ForEach循环只是语法上的糖。内部使用Java迭代器。因此,您不能将另一个字段对象分配给foreach循环的变

我正在使用
com.sun.codemodel
生成一些java实体对象

我想生成一个for循环,如下所示:-

for (final Field field : classFields) {}
然而,我只能做到这一点

for (Field field : classFields) {}

可以在ForEach生成的语句中添加
final
吗?

这里不需要添加
final
修饰符,因为Java中的ForEach循环只是语法上的糖。内部使用Java迭代器。因此,您不能将另一个
字段
对象分配给foreach循环的变量,这使得它已经是
final
。您只能通过它的setter方法修改它的内部状态。有关mor的详细信息可能会有所帮助。

正确,我不必使用final修饰符,但我希望。。。codeModle似乎不允许使用它,使用它毫无意义,这就是(在我看来)编译器和codeModel不允许您使用它的原因