如何在 javafx 中将 Optional Double 转换为 Double

How to convert Optional Double to Double in javafx

如果编译以下代码,则会出现以下错误。如何解决这个问题

错误:类型不兼容:OptionalDouble 无法转换为 Double .average();

  Double todaypctpnl = openPositionsdata.stream()
                                     .mapToDouble(c->Double.parseDouble(c.getTodaypctpnl()))
                                     .average();

您是否看过 OptionalDouble 的 API 文档?

有几种方法可以将其转换回 double 值,例如:

  • double value = OptionalDouble.orElse(-1)
  • double value = OptionalDouble.orElseThrow(IllegalStateException::new)

等等

您必须选择最适合您当前需求的一款。

https://docs.oracle.com/javase/tutorial/collections/streams/reduction.html

Double todaypctpnl = openPositionsdata.stream() .mapToDouble(c->Double.parseDouble(c.getTodaypctpnl())) .average().getAsDouble();