我的自定义arraylist在android Kotlin中排序不正确

我的自定义arraylist在android Kotlin中排序不正确,android,kotlin,kotlin-android-extensions,Android,Kotlin,Kotlin Android Extensions,val sortedList=allNovelList.sortedWith(compareBy{(它是新的).no}) 及 allNovelList.sortBy{(它是小说)。no} 我有一个自定义对象列表,其中添加了整数“no”,如id或主键。 从0到9排序效果很好,但9之后,10低于1 我第一次在Kotlin为Android工作。我在网上到处找了找,但找不到合适的代码 两行的排序相同。 我想要什么, 1,2,3,....,9,10,11,12...., 还有我分类后得到的。 1,10,1

val sortedList=allNovelList.sortedWith(compareBy{(它是新的).no})
allNovelList.sortBy{(它是小说)。no}

我有一个自定义对象列表,其中添加了整数“no”,如id或主键。 从0到9排序效果很好,但9之后,10低于1

我第一次在Kotlin为Android工作。我在网上到处找了找,但找不到合适的代码

两行的排序相同。 我想要什么, 1,2,3,....,9,10,11,12...., 还有我分类后得到的。 1,10,11,2,3,4,5,6…,9


它是按字母顺序排序的。

正如您在评论中提到的,
no
是一个字符串,因此它会根据字符串排序规则进行排序

你应该试试这个:

val sortedList = allNovelList.sortBy { (it as Novel).no.toInt() }

确保
no
是整数。

你确定
no
是整数吗?不,我将它保存在对象中作为字符串。@forpas,但我明白你的意思了。让我检查一下。谢谢你指出原因。@Muhammad Rehan接受并投票表决一个答案,如果它解决了你的问题是的,我很想这样做,但stackoverflow不允许我投票表决,因为我的声誉不到15。所以,这就是为什么。