Closures/Value capture: Difference between revisions

Content added Content deleted
(added java)
Line 480: Line 480:
slist@.(?9) ''
slist@.(?9) ''
25</lang>
25</lang>

=={{header|Java}}==
{{works with|Java|8+}}
<lang java>import java.util.function.Supplier;
import java.util.ArrayList;

public class ValueCapture {
public static void main(String[] args) {
ArrayList<Supplier<Integer>> funcs = new ArrayList<>();
for (int i = 0; i < 10; i++) {
int j = i;
funcs.add(() -> j * j);
}

Supplier<Integer> foo = funcs.get(3);
System.out.println(foo.get()); // prints "9"
}
}</lang>


=={{header|JavaScript}}==
=={{header|JavaScript}}==