我有这个列表,我想按预定顺序订购,但我在自动完成协助中没有找到任何.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>)发布于 2018-06-01 15:21:15
这是一个类型推断问题。你需要帮助编译器。
有几件事你可以尝试:
.sorted(comparing(T::getDailyPercentageChange).reversed())或
.sorted(comparing((T mps) -> mps.getDailyPercentageChange()).reversed())其中T是要比较的元素的类型。
发布于 2018-06-01 14:45:27
Comparators有一个reversed方法来获得反向排序,因此:
.sorted(comparing(mps -> mps.getDailyPercentageChange()).reversed())应该行得通。
https://stackoverflow.com/questions/50645906
复制相似问题