stream 链式结构

      Double totalPaymentAmount = Optional.ofNullable(wayfairMonthBill.getPaymentAmountDetailJson())
                .filter(StringUtils::isNotBlank).map(paymentAmountDetailJson -> JSON
                        .parseArray(paymentAmountDetailJson, WayfairMonthBillPaymentDetailCustom.class))
                .map(paymentAmountDetails -> paymentAmountDetails.stream()
                        .map(WayfairMonthBillPaymentDetailCustom::getPaymentAmounts).flatMap(Collection::stream).filter(Objects::nonNull)
                        .mapToDouble(paymentAmount -> paymentAmount).sum()).orElse(0.0);
原文地址:https://www.cnblogs.com/zrboke/p/15438003.html