鉴于此代码:
class PositionValue {
Object value;
boolean deleted;
}
class Position {
Optional<PositionValue> value = Optional.empty();
}
Position getPosition() {
return positionRepository.findSomePosition();
}
Position findCorrectPosition() {
Position position = getPosition();
return position.value.map(this::finalizeOrNext).orElse(position);
}
Position finalizeOrNext(PositionValue positionValue) {
if (positionValue.deleted) {
return moveToNextPosition(positionValue);
} else {
return finalPosition(positionValue);
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法避免明确声明position变量findCorrectPosition?换句话说,我想orElse函数来引用他的getPosition()调用结果.
我有一个如下代码:
D00077B4-EBFB-4BD8-9E3F-1F3943CBCE35
Run Code Online (Sandbox Code Playgroud)
我想知道如何在Java中生成这样的代码.