文章目录 Java 8 - lambda 捕获机制 : 使用局部变量 1、概念 2、例子 3、局限 4、为什么局部变量会有final 这个限制 第一 第二 5、和闭包比较 Java 8 - lambda 捕获机制 : 使用局部变量 1、概念 我们迄今为止所介绍的所有Lambda表达式都只用到了其主体里面的参数。但Lambda表达式 也允许使用自由变量(不是参数,而是在外层作用域中定义的变量),就像匿名类一样。 它们被 称作捕获Lambda 2、例子 例如,下面的Lambda捕获了portNumber变量 int portNumber = 1337; Runnable r = () -> System.out.println(portNumber)