我有一个构建列表的新方法,我希望它以OptionalDouble值的形式返回列表的总和。
但是,当我使用Java 8计算总和值时,总是得到返回值作为Double。
我如何转换
Double to OptionalDouble
以下是我用于求和的代码:
private static OptionalDouble sumListValue() {
// Build list
List<Double> testList = new ArrayList<>();
testList.add(...);
...
...
return testList.stream().mapToDouble(value -> value).sum();
}
谢谢。
最佳答案
您可以使用列表的长度将结果包装到OptionalDouble
中。
OptionalDouble optional = testList.isEmpty() ? OptionalDouble.empty()
: OptionalDouble.of(testList.stream().mapToDouble(d -> d).sum());