我有一個構建列表的方法,我希望它將列表的平均值作爲可選值返回。將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