我一直在使用以下代码对域名结果进行排序
vpisort.sort {it.price}
我想知道我是否可以使用像
这样的东西vpisort.sort {it.price-它?.discount}
答案 0 :(得分:5)
我发现了this帖子。你可以尝试在你的情况下使用它:
vpisort.sort { a, b -> a.price <=> b.price ?: a?.discount <=> b?.discount }
首先考虑价格,然后,只有当a和b等于价格且结果为零时,使用Elvis运算符才能比较a和by折扣。
答案 1 :(得分:1)
HM。这不是一个问题,而是一个时髦的问题。考虑到这一点,解决方案很简单:
打开常规控制台,试试你的线路。或者看看这些例子:
http://groovy.codehaus.org/JN1015-Collections
在SO上还有另一个像这样的问题:
Groovy list.sort by first, second then third elements
希望有所帮助!更新:如果您想拥有域类的默认排序顺序,请查看此GORM功能:http://grails.org/doc/latest/guide/single.html#ormdsl(5.5.3默认排序顺序)