鉴于你的方法
updateStudent和
createStudent涉及某种形式的副作用,你一般应更喜欢无副作用lambda表达式,我不建议你在这里使用它们。实际上,一个简单的if-
then-else块就足够了。但是,如果您感到好奇,则等效的lambda如下所示:
return studentOpt .map(unused -> updateStudent(id, name)) .orElseGet(() -> createStudent(id, name));

鉴于你的方法
updateStudent和
createStudent涉及某种形式的副作用,你一般应更喜欢无副作用lambda表达式,我不建议你在这里使用它们。实际上,一个简单的if-
return studentOpt .map(unused -> updateStudent(id, name)) .orElseGet(() -> createStudent(id, name));