【发布时间】:2018-10-29 05:04:24
【问题描述】:
1/ 工作代码:
public Student process (int id, name){
Optional<Student> studentOpt = myrepo.findById(id);
studentOpt.isPresent() {
return updateStudent(id, name);
} else {
return createStudent(id, name);
}
2/ 我尝试将其更改为“完整的 lambdas 代码”(不起作用):
public Student process (int id, name){
Optional<Student> studentOpt = myrepo.findById(id);
return studentOpt.ifPresentOrElse(student-> return updateStudent(id, name), () -> return createStudent(id, name));
}
1/ 我应该将其更改为完整的 lambda 吗?什么是最干净的?
2/如果是,如何?
【问题讨论】:
-
“不工作”到底是什么意思?请参阅How to Ask 文章以获取有关构建我们可以实际回答的问题的帮助:)
-
从对
ifPresentOrElse的调用中删除return调用,它应该可以工作。您可能必须使id和name有效地最终确定。
标签: java lambda optional java-9