一尘不染

在Java 8中,transform可选 Optional.empty中的空字符串

java

给定一个字符串,我需要获取一个Optional,如果字符串为null或为空,则结果将为Optional.empty。我可以这样:

String ppo = "";
Optional<String> ostr = Optional.ofNullable(ppo);
if (ostr.isPresent() && ostr.get().isEmpty()) {
    ostr = Optional.empty();
}

但是,肯定有一种更优雅的方法。


阅读 588

收藏
2020-12-03

共1个答案

一尘不染

您可以使用过滤器:

Optional<String> ostr = Optional.ofNullable(ppo).filter(s -> !s.isEmpty());

如果ppo为null或为空,则将返回一个空的Optional 。

2020-12-03