Was ist die eleganteste Möglichkeit, zwei optionale <BigDecimal> -Zahlen hinzuzufügen?

Ich muss eine Additionsoperation für zwei große Dezimalstellen ausführen, bei denen es sich um um umbrochene Optionszeichen handelt:

Optional<BigDecimal> ordersTotal;
Optional<BigDecimal> newOrder;

Ich möchte ordersTotal + = newOrder erreichen. Es ist wichtig zu beachten, dass, wenn beide Werte leer sind, das Ergebnis ebenfalls leer sein sollte (dh nicht Null).

Hier ist, was ich mir ausgedacht habe:

ordersTotal = ordersTotal.flatMap( b -> Optional.of(b.add(newOrder.orElse(BigDecimal.ZERO))));

aber ich frage mich, ob es eine elegantere Lösung gibt.

Antworten auf die Frage(16)

Ihre Antwort auf die Frage