引用值,而不是变量(Lambda)

既成事实上的final是指只能给该变量赋值一次。换句话说,Lambda表达式引用的是值,而不是变量。

Lambda表达式中引用既成事实的final变量:

Stringname = getUserName();

button.addActionListener(event -> System.out.println("hi " +name);

未使用既成事实的final变量,导致无法通过编译:

Stringname = getUserName();

name = formatUserName(name);

button.addActionListener(event -> System.out.println("hi " +name);

你可能感兴趣的:(引用值,而不是变量(Lambda))