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

时间:2015-01-25 17:39:42

标签: javafx optional

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

错误:不兼容的类型:OptionalDouble无法转换为Double                                          。平均();

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

2 个答案:

答案 0 :(得分:3)

您是否看过OptionalDouble的API文档?

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

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

您必须选择最符合当前需求的那个。

答案 1 :(得分:0)

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

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