list
.parallelStream()
.sorted(Comparator.comparingDouble(r -> r.getA() + r.getB()).reversed())
出现编译错误
cannot resolve method r.getA()
,但是list
.parallelStream()
.sorted(Comparator.comparingDouble(r -> r.getA() + r.getB())
还可以
那么如何通过r-> r.getA()+ r.getB()进行排序并将其反转呢?
最佳答案
一种方法是将ToDoubleFunction
键入为:
list.parallelStream()
.sorted(Comparator.comparingDouble((ToDoubleFunction<C>) r -> r.getA() + r.getB())
.reversed());
虽然我希望显式创建
Comparator<C>
作为list.parallelStream()
.sorted(((Comparator<C>) (o1, o2) -> Double.compare(o1.getA() + o1.getB(), o2.getA() + o2.getB()))
.reversed());
注意:这里的
C
是您的对象类型,它也构成了相关的list
。