我在kotlin中有一个对象列表,我想按数字然后按字符串对它们进行排序。有没有办法做到这一点?我已经浏览了数百篇文章,但是任何地方都无济于事。
myList.sortedWith(compareBy<Item> {it.name.id }.thenBy{it.name.secondname})
此代码无效。
mylist当然是Item的一种。
问候
@EDIT
但是,如果我有10个相同的ID,该怎么办?该代码将无法通过.thenBy检查。是否可以检查整个字段对?
我在kotlin中有一个对象列表,我想按数字然后按字符串对它们进行排序。有没有办法做到这一点?我已经浏览了数百篇文章,但是任何地方都无济于事。
myList.sortedWith(compareBy<Item> {it.name.id }.thenBy{it.name.secondname})
此代码无效。
mylist当然是Item的一种。
问候
@EDIT
但是,如果我有10个相同的ID,该怎么办?该代码将无法通过.thenBy检查。是否可以检查整个字段对?
myList.sortedWith(compareBy<Item> {it.name.id }.thenBy{it.name.secondname})
返回列表的排序后的副本,但不会修改原始列表。
如果您想修改原始列表,则可以使用sortWith
代替sortedWith
:
myList.sortWith(compareBy<Item> { it.name.id }.thenBy { it.name.secondname })
或重新分配myList
变量:
myList = myList.sortedWith(compareBy<Item> { it.name.id }.thenBy { it.name.secondname })