首页 > 解决方案 > 使用 sortedBy(...) 排序在 kotlin 中不起作用

问题描述

我正在尝试对此进行排序:listOf("P5","P1","P2","P3","P10")通过使用 val list = categoryList.sortedBy { it }但返回的是这个:[P1, P10, P2, P3, P5],根据我的要求它应该返回[P1, P2, P3, P5, P10]所以我在这里做错了什么?

标签: androidsortingkotlin

解决方案


由于您直接按字符串值排序,因此您将获得该结果。相反,您可以按字符串的整数部分排序,如下所示:

categoryList.sortedBy { it.substring(1).toInt() }

推荐阅读