我有一个方法可以找到一个运算符并返回新位置。
public Integer findToken(Character operator) {
try {
return tokenList.stream()
.filter(x -> {
return x.position >= startPosition &&
x.position <= endPosition &&
x.operator == operator;
})
.findFirst().get()
.position;
} catch (Exception ex) {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
但如果没有匹配项,我希望它保留旧值。
startPosition = findToken(Operator.value);
Run Code Online (Sandbox Code Playgroud)
我如何返回旧值?我尝试用方法中的值提供一个新参数并将其传递到异常中,但代码看起来很丑陋。有没有更好的办法 ?