文章目录

  • 0 写在前面
  • 1 实例的字段
  • 2 静态变量
  • 3 写在最后


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);

    }
}

结果:

java 变量值改变事件 java修改变量值_servlet


在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);
    }

}

java 变量值改变事件 java修改变量值_java_02


在Lambda内部修改了静态变量staticNum 的值为10,执行后结果为120,也没有报错,验证成功。

3 写在最后

目前知道的可以再Lambda内部修改的只有这两个,作为一个总结,可以直接记住。大家可以直接复制代码进行尝试,记得修改类名同步和引入测试类。