我有一个构建列表的方法,我希望它将列表的平均值作为可选值返回。将OptionalDouble转换为可选<java.lang.Double>
但是,当我使用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();
}
感谢。
如何在OptionalDouble上获得'getAsDouble',这将使你在'double'中得到平均值,这是你最终想要的。 – VHS
一个OptionalDouble更高效;更接近'double',因此将使用代码从'Optional'转换为'OptionalDouble'似乎会更好。但是,我认为你知道这一点,并有你的理由。 –
如果代码构建如图所示的列表,您已经知道它永远不会是空的。那么为什么要返回'Optional'呢? – Holger