相关疑难解决方法(0)

什么是最优雅的方式来添加两个可选的<BigDecimal>数字

我需要对包含选项的两个大小数执行添加操作:

Optional<BigDecimal> ordersTotal;
Optional<BigDecimal> newOrder;
Run Code Online (Sandbox Code Playgroud)

我想实现ordersTotal + = newOrder重要的是要注意,如果两个值都为空,结果同样应为空(即不为零).

这是我想出的:

ordersTotal = ordersTotal.flatMap( b -> Optional.of(b.add(newOrder.orElse(BigDecimal.ZERO))));
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有一个更优雅的解决方案.

java functional-programming optional java-8

8
推荐指数
2
解决办法
1992
查看次数

连接Java 8中的两个或多个可选字符串

对你们来说,我有一个很简单的问题。在Java 8中引入了Optional类型。我有两个类型的对象,Optional<String>我想知道哪种是更优雅的连接它们的方法。

Optional<String> first = Optional.ofNullable(/* Some string */);
Optional<String> second = Optional.ofNullable(/* Some other string */);
Optional<String> result = /* Some fancy function that concats first and second */;
Run Code Online (Sandbox Code Playgroud)

详细地说,如果两个原始Optional<String>对象之一等于Optional.empty(),我也希望整个串联也为空。

请注意,我不是在问如何Optional在Java中连接两个Strings的求值,而是要在一个内部连接两个s Optional

提前致谢。

string concatenation optional java-8

5
推荐指数
2
解决办法
4632
查看次数