Che*_*rry 3 java lambda java-8
考虑一个代码(不可编译):
List<String> list = Arrays.asList("a", "b");
list.stream().map(s ->
String variable = method(s)
variable + "debug"
);
private String method(String s) {
return s;
}
Run Code Online (Sandbox Code Playgroud)
线String variable = method(s)未编译.
我可以在 lambda表达式中定义局部变量,还是被设计禁止?
dka*_*zel 12
是的但是多语句lambdas需要将代码块包装在大括号中.您还需要在语句的末尾正确使用分号.您还需要使用return关键字.
list.stream().map(s ->{
String variable = method(s);
return variable + "debug";
}
);
Run Code Online (Sandbox Code Playgroud)
单个语句lambda有一个暗示可以避免return输入,并使lambda更具可读性.
| 归档时间: |
|
| 查看次数: |
144 次 |
| 最近记录: |