小编lig*_*eed的帖子

如果没有匹配则返回方法中的默认值

我有一个方法可以找到一个运算符并返回新位置。

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)

我如何返回旧值?我尝试用方法中的值提供一个新参数并将其传递到异常中,但代码看起来很丑陋。有没有更好的办法 ?

java java-8 java-stream

3
推荐指数
1
解决办法
933
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1