У меня есть метод, который строит список, и я хочу, чтобы он возвращал среднее значение списка как необязательное значение.Convert OptionalDouble to Optional <java.lang.Double>
Однако, когда я вычисляю среднее значение с использованием Java 8, я всегда получаю возвращаемое значение как OptionDouble.
Как конвертировать
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();
}
Спасибо.
Как насчет 'getAsDouble' на OptionDouble, который даст вам среднее значение в' double', которое вы, наконец, захотите. – VHS
Дополнительный Double - более эффективный; ближе к 'double', поэтому преобразование используемого кода из опционального' to 'OptionDouble' будет казаться лучше. Но тогда, я думаю, вы знаете это и имеете свою причину. –
Если код строит список, как показано, вы уже знаете, что он никогда не будет пустым. Так зачем вообще возвращать «Факультативный»? – Holger