use*_*644 5 java lambda optional
例如:
private String test(Optional myOptional)
{
myOptional.ifPresent(() -> return "1");
return "0";
}
Run Code Online (Sandbox Code Playgroud)
所以当我调用test(myOptional)时,它将返回"1";
你不能"破坏"lambda体并从封闭方法返回一个值.该return只在lambda体的范围在lambda使用的作品.
惯用的方法是Optional正确地使用API:
private String test(Optional<Object> myOptional) {
return myOptional
.map(s -> "1")
.orElse("0");
}
Run Code Online (Sandbox Code Playgroud)
另外,请记住,Optionals不应该用作方法参数:
| 归档时间: |
|
| 查看次数: |
3930 次 |
| 最近记录: |