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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在javafx中将Optional Double转换为Double相关的知识,希望对你有一定的参考价值。

如果编译以下代码会给出以下错误。怎么解决这个问题

错误:不兼容的类型: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();

以上是关于如何在javafx中将Optional Double转换为Double的主要内容,如果未能解决你的问题,请参考以下文章