Ger*_*zas 42 java optional java-8
给定一个String我需要获得一个Optional,如果String为null或为空,则结果为Optional.empty.我可以这样做:
String ppo = "";
Optional<String> ostr = Optional.ofNullable(ppo);
if (ostr.isPresent() && ostr.get().isEmpty()) {
ostr = Optional.empty();
}
Run Code Online (Sandbox Code Playgroud)
但肯定必须有一种更优雅的方式.
ass*_*ias 76
你可以使用一个过滤器:
Optional<String> ostr = Optional.ofNullable(ppo).filter(s -> !s.isEmpty());
Run Code Online (Sandbox Code Playgroud)
如果ppo为null或为空,那将返回一个空的Optional .
Fee*_*eco 16
使用Apache Commons:
.filter(StringUtils::isNotEmpty)
Run Code Online (Sandbox Code Playgroud)
Java 11答案:
var optionalString = Optional.ofNullable(str).filter(Predicate.not(String::isBlank));
Run Code Online (Sandbox Code Playgroud)
String::isBlank 处理更广泛的“空”字符。
| 归档时间: |
|
| 查看次数: |
38958 次 |
| 最近记录: |