我有一个构建列表的方法,并且我希望它返回列表的平均值作为Optional值。
但是,当我使用Java 8计算平均值时,总是得到返回值作为OptionalDouble。
我如何转换
OptionalDouble to Optional<Double>?
以下是我的平均计算代码:
private static Optional<Double> averageListValue() {
// Build list
List<Double> testList = new ArrayList<>();
testList.add(...);
...
...
return testList.stream().mapToDouble(value -> value).average();
}
谢谢。
最佳答案
我会选择这种方法:
private static Optional<Double> convert(OptionalDouble od)
{
return od.isPresent() ?
Optional.of(od.getAsDouble()) : Optional.empty();
}