我正在尝试使用listOf("P5","P1","P2","P3","P10")
进行排序:val list = categoryList.sortedBy { it }
,但返回的内容是:[P1, P10, P2, P3, P5]
,根据我的要求,它应该返回[P1, P2, P3, P5, P10]
,所以我在这里做错了什么?
最佳答案
您正在排序String
列表而不是Integer
列表。那就是P10
出现在P2
前面的原因。因此,请尝试以下方法进行排序:
var list: List<String> = mutableListOf("P5","P1","P2","P3","P10")
.sortedWith(compareBy({ it.length }, { it }))