我想包装两个可为空的字符串的可选和。
我目前有一个有效的代码:
if (a.isPresent()) {
if (b.isPresent()) {
return Optional.of(a.get() + b.get());
} else {
return Optional.empty();
}
} else {
return Optional.empty();
}
我尝试将附加的代码转换到一个功能行,但没有结果。 是否可以使用下面这样的代码来重构此代码?
return Optional.ofNullable(a).ifPresent( <check if b non-null.
If null return Optional.empty() else return Optional.of(a.get() + b.get())>)
编辑。
从similar question.修改解决方案
first.flatMap(s -> second.map(s1 -> s + s1));