温馨提示×

如何在Java匿名方法中访问外部变量

小樊
110
2024-07-16 21:34:50
栏目: 编程语言

在Java中,可以通过将外部变量声明为final来访问外部变量。这样做是因为Java的匿名方法(也称为lambda表达式)只能访问final或 effectively final 的外部变量。

以下是一个简单的示例代码,演示了如何在Java匿名方法中访问外部变量:

public class Main {
    public static void main(String[] args) {

        String message = "Hello, World!";
        Runnable r = () -> {
            System.out.println(message);
        };

        r.run();
    }
}

在这个例子中,我们声明了一个String类型的外部变量message,并将其赋值为"Hello, World!"。然后我们创建一个Runnable接口的实例,实现了一个匿名方法,其中访问了外部变量message。最后,我们调用了这个匿名方法并输出了message的值。

需要注意的是,虽然在Java匿名方法中可以访问外部变量,但是在匿名方法中不能修改外部变量的值,因为外部变量必须是final或 effectively final 的。

0