实际上,您正在搜索的是:Optional.map。您的代码将如下所示:
object.map(o -> "result" ) .orElseThrow(MyCustomException::new);
Optional如果可以的话,我宁愿忽略通过。最后,您
Optional在这里不会获得任何收益。一个稍微不同的变体:
public String getString(Object yourObject) { if (Objects.isNull(yourObject)) { // or use requireNonNull instead if NullPointerException suffices throw new MyCustomException(); } String result = ... // your string mapping function return result;}如果
Optional由于另一个调用而已经有了-object
,出于单一原因,我仍建议您使用
map-method而不是
isPresent等等,因为我发现它更具可读性(显然是主观决定;-)。



