在 Java 中,我们可以在lambda表达式中访问哪些类型的变量?


lambda 表达式由两部分组成,一部分是 参数 另一部分是 表达式 并且这两部分已由箭头 (->) 符号分隔开。lambda 表达式可访问其 封闭范围内的变量。

Lambda 表达式可以访问它所包围类的 实例静态 变量,并且还可以访问 局部 变量,这些变量是 实际最终最终 的。

语法

( argument-list ) -> expression

示例

interface TestInterface {
   void print();
}
public class LambdaExpressionTest {
   int a; // instance variable
   static int b; // static variable
   LambdaExpressionTest(int x) {    // constructor to initialise instance variable
      this.a = x;
   }
   void show() {
      // lambda expression to define print() method
      TestInterface testInterface = () -> {
      // accessing of instance and static variable using lambda expression
         System.out.println("Value of a is: "+ a);
         System.out.println("Value of b is: "+ b);
      };
      testInterface.print();
   }
   public static void main(String arg[]) {
      LambdaExpressionTest test = new LambdaExpressionTest(10);
      test.show();
   }
}

输出

Value of a is: 10
Value of b is: 0

更新于: 2019-12-11

886 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始使用
广告