首先我知道这两种方法的区别。
Optional.of
:用于保证不存在null,如果输入null,则nullPointException
Optional.ofNullable
: 可能为空,也可能不为空。用来灵活应对。
那么,如果我加上orElseThrow(() -> new NullPointerException("null data"))
这个,结果会是一样的吗?
我想抛出带有显式内容的错误。
所以我得到Optional.ofNullable(data).orElseThrow(() -> new NullPointerException("null data")))
将其用作这是无意义的行为吗?
Optional.of(data).orElseThrow(() -> new NullPointerException("null data")))
我认为这也是可能的,但我只是用来ofNullable()
使代码看起来一致。
总结一下,到底如果加上的话结果还是一样orElseThrow(nullPoint)
吗of
?ofNullable
那么反而of.orElseThrow
更好呢?