@[TOC]
0 写在前面
上篇文章写了变量的访问,这篇写一下可以进行变量修改的情况。
1 实例的字段
对于实例的字段,可读可写。
举例:
public class LambdaVariableExample {
private int num;
@Test()
public void testInstanceVariable(){
BinaryOperator<Integer> add = (x, y) -> {
num = 10;
return x + y + num ;
};
Integer apply = add.apply(3, 4);
System.out.println(apply);
}
}
结果:
在Lambda内部修改了实例num的值为10,执行后结果为17,也没有报错,验证成功。
2 静态变量
对于静态变量,可读可写。
public class LambdaVariableExample {
public static int staticNum;
@Test()
public void testStaticVariable(){
BinaryOperator<Integer> add = (x, y) -> {
staticNum = 10;
return x * y * staticNum ;
};
Integer apply = add.apply(3, 4);
System.out.println(apply);
}
}
在Lambda内部修改了静态变量staticNum 的值为10,执行后结果为120,也没有报错,验证成功。
3 写在最后
目前知道的可以再Lambda内部修改的只有这两个,作为一个总结,可以直接记住。大家可以直接复制代码进行尝试,记得修改类名同步和引入测试类。