1. Lambda expressions can access external local final variables
final int num = 1; Converter<Integer, String> stringConverter = (from) -> String.valueOf(from + num); stringConverter.convert(2); // 3
2. Contrary to accessing local variables, member variables and static variables can be read and written through lambda expressions . This way of accessing variables is also implemented in anonymous variables:
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); }; } }
The above is the detailed content of How to access variables using java Lambda. For more information, please follow other related articles on the PHP Chinese website!