扫码一下
查看教程更方便
java 11 允许在 lambda 表达式中使用 var 并且可以将修饰符应用于局部变量。
(@nonnull var value1, @nullable var value2) -> value1 value2
考虑下面的示例
import java.util.arrays;
import java.util.list;
import java.util.stream.collectors;
@interface nonnull {}
public class apitester {
public static void main(string[] args) {
list tutorialslist = arrays.aslist("java", "html");
string tutorials = tutorialslist.stream()
.map((@nonnull var tutorial) -> tutorial.touppercase())
.collect(collectors.joining(", "));
system.out.println(tutorials);
}
}
上述代码运行结果如下
java
html
在 lambda 表达式中使用 var 有一定的限制。
(var v1, v2) -> v1 v2
(var v1, string v2) -> v1 v2
var v1 -> v1.tolowercase()