1、lambda表达式可访问外部本地final变量
final int num = 1;converter<integer, string> stringconverter = (from) -> string.valueof(from + num);stringconverter.convert(2); // 3
2、与访问本地变量相反,成员变量和静态变量可以通过lambda表达式读写。这种访问变量的方式也实现在匿名变量中:
class lambda4 { static int outerstaticnum; int outernum; void testscopes() { converter<integer, string> stringconverter1 = (from) -> { outernum = 23; return string.valueof(from); }; converter<integer, string> stringconverter2 = (from) -> { outerstaticnum = 72; return string.valueof(from); }; }}
以上就是如何使用java的lambda访问变量的详细内容。