Capture of variables in lambda in Java
Forums:
Function<Integer, Integer> MakeWallet(Integer[] sum) {
return pay -> sum[0] -= pay;
}
Function<Integer, Integer> payFromWallet1 =
MakeWallet(new Integer[] {1000});
Function<Integer, Integer> payFromWallet2 =
MakeWallet(new Integer[] {500});
int balance = payFromWallet1.apply(50);
//balans is 950
balance = payFromWallet2.apply(70);
//balance is 430
balance = payFromWallet1.apply(150);
//balans is 800
- Log in to post comments