如果编译以下代码,则会出现以下错误。如何解决这个问题
错误:不兼容的类型:OptionalDouble无法转换为Double 。平均();
Double todaypctpnl = openPositionsdata.stream()
.mapToDouble(c->Double.parseDouble(c.getTodaypctpnl()))
.average();
答案 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();