我有要按预订顺序订购的列表,但在自动完成协助中未找到任何.reversed()函数

 myMenus(user)
                .stream()
                .filter(mps ->  mps.get1PercentageChange() > 0 &&
                                mps.get2PercentageChange() > 0 &&
                                mps.get3PercentageChange() > 0 &
                                mps.get4PercentageChange() > 0)
                .sorted(comparing(mps -> mps.getDailyPercentageChange()))
                .collect(toList());

我也尝试过:
myMenus(user)
        .stream()
        .filter(mps ->  mps.get1PercentageChange() > 0 &&
                        mps.get2PercentageChange() > 0 &&
                        mps.get3PercentageChange() > 0 &
                        mps.get4PercentageChange() > 0)
        .sorted(comparing(mps -> mps.getDailyPercentageChange()).reversed())
        .collect(toList());

但是然后我有编译错误:
Cannot infer type argument(s) for <T, U> comparing(Function<? super T,?
     extends U>)

最佳答案

这是类型推断问题。您需要帮助编译器。

您可以尝试的一些方法:

.sorted(comparing(T::getDailyPercentageChange).reversed())

或者
.sorted(comparing((T mps) -> mps.getDailyPercentageChange()).reversed())

其中T是要比较的元素的类型。

10-02 23:09