Optional.ofNullable和方法链

13 浏览
0 Comments

Optional.ofNullable和方法链

我对Optional.ofNullable方法感到惊讶。有一天,我写了一个应该返回一个Optional的函数:

private Optional extractFirstValueFrom(InsightsResponse insight) {
    return Optional.ofNullable(insight.getValues().get(0).getValue());
}

我错误地认为Optional.ofNullable会防止参数表达式中的任何NullPointerExceptions。现在我知道这是一个非常愚蠢的想法。Java必须首先解析参数,然后将其传递给Optional.ofNullable调用。

但我有一个问题。有没有一种简洁而好的方法来实现我的目标?我想从表达式insight.getValues().get(0).getValue()中获取一些整数值或null。null可以是这些表达式中的任何一个:insight.getValues()insight.getValues().get(0)

我知道我可以将其放在try/catch块中,但我想知道是否有更优雅的解决方案。

0