Skip to content

Lambdas created in a loop

java List<Runnable> tasks = new ArrayList<>(); for (int i = 0; i < 3; i++) { tasks.add(() -> System.out.println(i)); }

Java rejects this. Why is that a useful restriction?