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

问题描述 投票:2回答:2

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

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

  Double todaypctpnl = openPositionsdata.stream()
                                     .mapToDouble(c->Double.parseDouble(c.getTodaypctpnl()))
                                     .average();
javafx optional
2个回答
3
投票

您是否看过OptionalDouble的API文档?

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

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

等等

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.