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

10-08 08:39