我有一个构建列表的方法,我希望它将列表的平均值作为可选值返回.
但是,当我使用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(); }