上級 › local variables must be final or effectively final の原因と直し方 › パターン1
local variables must be final or effectively final の原因と直し方
ラムダが参照するローカル変数は再代入できません。
1 import java.util.List; 2 3 public class Main { 4 public static void main(String[] args) { 5 int count = 0; 6 __________________ ^ 7 List.of(1, 2, 3).forEach(n -> System.out.println(n + count)); 8 } 9 }
Main.java:7: error: local variables referenced from a lambda expression must be final or effectively final
空欄を埋めてビルドを通す
ラムダが参照するローカル変数は再代入できません。ラムダより前であっても、一度でも代入し直すと実質finalではなくなります。
次の問題