鉴于我有一个双重属性的流或列表,它们都应该与add操作绑定在一起,在JavaFX中执行此操作的正确方法是什么?
以下不起作用,因为DoubleExpression::add
返回DoubleBinding
而不是DoubleProperty
。
DoubleBinding value = doubleProperties.stream()
.reduce(doubleProperty, doubleProperty2) -> doubleProperty.add(doubleProperty2)).get();
DoubleBinding value = doubleProperties.stream()
.reduce(DoubleExpression::add).get();
以下作品,但我认为不应该是必要的黑客:
DoubleBinding value = doubleProperties.stream()
.map(doubleProperty -> doubleProperty.add(0))
.reduce(DoubleExpression::add)
.get();
答案 0 :(得分:0)
对我来说最有用的解决方案是使用DoubleExpression而不是DoubleProperty或DoubleBinding。
DoubleExpression value = doubleProperties.stream()
.map(DoubleProperty::doubleExpression)
.reduce(DoubleExpression::add)
.get();
我实际上并不了解这三个类之间的细微差别。 如果有人知道这个结构是否符合我的预期以及不同之处,请随时发表评论或回答。