引用值,而不是变量(Lambda)
2018-09-23 本文已影响0人
泰兰德的加长香蕉
既成事实上的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);