【发布时间】:2015-08-28 10:23:12
【问题描述】:
我正在尝试将 java8 forEach 循环中的布尔变量更改为非最终的 true。但我收到以下错误:在封闭范围中定义的局部变量必须是最终的或有效的最终。
如何解决这个错误?
代码:
boolean required = false;
这是我在函数中创建的变量。
现在当我试图改变它时:
map.forEach((key, value) -> {
System.out.println("Key : " + key + " Value : " + value);
required = true;
});
我收到错误消息:在封闭范围内定义的局部变量必须是最终的或有效的最终变量。
为什么会出现此错误以及如何解决?
【问题讨论】: