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

3
如果编译以下代码,则会出现以下错误。如何解决
错误:不兼容的类型:无法将OptionalDouble转换为Double .average();
  Double todaypctpnl = openPositionsdata.stream()
                                     .mapToDouble(c->Double.parseDouble(c.getTodaypctpnl()))
                                     .average();
2个回答

6
你看过OptionalDouble的API文档了吗?
有几种方法可以将其转换回double值,例如:
  • double value = OptionalDouble.orElse(-1)
  • double value = OptionalDouble.orElseThrow(IllegalStateException::new)
等等。
你需要选择最适合当前需求的方法。

谢谢,这有助于解决问题。OptionalDouble todaypctpnl = values.stream() .mapToDouble(c->Double.parseDouble(c.getTodaypctpnl())) .average(); Double todaypctpnlDbl = todaypctpnl.getAsDouble(); - jay

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接