我们可以在排序中使用两个标准吗?

zad*_*ade 2 sorting collections groovy

我一直在使用以下代码来排序域的结果

vpisort.sort {} it.price

我想知道我是否可以使用类似的东西

vpisort.sort {it.price-呢?.discount}

Tom*_*ski 5

我发现了这篇文章.你可以尝试在你的情况下使用它:

vpisort.sort { a, b -> a.price <=> b.price ?: a?.discount <=> b?.discount }
Run Code Online (Sandbox Code Playgroud)

它首先考虑价格,然后,只有当a和b等于价格且结果为零时,使用Elvis运算符才能比较a和by by discount.