Tôi có một phương thức tạo danh sách và tôi muốn nó trả lại giá trị trung bình của danh sách dưới dạng Giá trị tùy chọn.Chuyển đổi OptionalDouble thành Tùy chọn <java.lang.Double>
Tuy nhiên, khi tôi tính giá trị trung bình bằng cách sử dụng Java 8, tôi luôn nhận được giá trị trả về dưới dạng OptionalDouble.
Làm thế nào để chuyển đổi
OptionalDouble to Optional<Double>?
Dưới đây là mã của tôi để tính trung bình:
private static Optional<Double> averageListValue() {
// Build list
List<Double> testList = new ArrayList<>();
testList.add(...);
...
...
return testList.stream().mapToDouble(value -> value).average();
}
Cảm ơn.
Làm thế nào về 'getAsDouble' trên OptionalDouble mà sẽ giúp bạn có được trung bình trong' double' đó là những gì bạn cuối cùng sẽ muốn. – VHS
Một OptionalDouble là hiệu quả hơn; gần hơn với 'double', do đó việc chuyển đổi mã sử dụng từ' Tùy chọn 'thành' OptionalDouble' sẽ có vẻ tốt hơn. Nhưng sau đó, tôi nghĩ rằng bạn biết điều đó và có lý do của bạn. –
Nếu mã tạo danh sách như được hiển thị, bạn đã biết rằng nó sẽ không bao giờ trống. Vậy tại sao lại trả về một 'Tùy chọn'? – Holger