我的自定义数组列表在 android Kotlin 中排序不正确
My custom arraylist is not sorting properly in android Kotlin
val sortedList = allNovelList.sortedWith(compareBy { (it as Novel).no })
和
allNovelList.sortBy { (it as Novel).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
是一个整数。
val sortedList = allNovelList.sortedWith(compareBy { (it as Novel).no })
和
allNovelList.sortBy { (it as Novel).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
是一个整数。