如何使用 Java 中的 lambda 访问封闭类中的变量?
java 8object oriented programmingprogramming更新于 2025/4/23 10:07:17
lambda 表达式的封闭范围定义的变量可以在 lambda 表达式中访问。lambda 表达式可以访问由封闭类定义的实例、静态变量和方法。它还可以访问"this"变量(隐式和显式),该变量可以是封闭类的实例。 lambda 表达式还设置 实例 或 静态 变量的值。
示例
interface SimpleInterface { int func(); } public class SimpleLambdaTest { static int x = 50; public static void main(String[] args) { SimpleInterface test = () -> x; // 使用 lambda 访问静态变量 System.out.println("Accessing static variable 'x': " + test.func()); test = () -> { // 使用 lambda 将值设置为变量 return x = 80; }; System.out.println("Setting value for 'x': " + test.func()); } }
输出
Accessing static variable 'x': 50 Setting value for 'x': 80