1. Les expressions Lambda peuvent accéder aux variables finales locales externes
final int num = 1; Converter<Integer, String> stringConverter = (from) -> String.valueOf(from + num); stringConverter.convert(2); // 3
2. Contrairement à l'accès aux variables locales, les variables membres et les variables statiques peuvent être lues et écrites via des expressions lambda. Cette façon d'accéder aux variables est également implémentée dans les variables anonymes :
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); }; } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!