我有要按预订顺序订购的列表,但在自动完成协助中未找到任何.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
是要比较的元素的类型。