kotlin - 在 Kotlin 中,有没有一种更原生的方式来比较整数,然后是字符串?
问题描述
我正在对一个列表进行排序Pair<Int, String>
:
list.sortedWith(Comparator.comparingInt<Pair<String, Int>> { it.second }
.thenComparing { it -> it.first })
必须指定似乎有点奇怪,{ it ->
所以我应该使用更多 Kotlin 风格的东西吗?
编辑:对不起,我在问这个问题时迷路了:虽然我确实想知道下面的答案,但我想我真的很好奇为什么我不能省略it ->
:
这编译:
var c = Comparator
.comparingInt<Pair<String, Int>> { it.second }
.thenComparing { it -> it.first }
这抱怨“未解决的参考it
”:
var c = Comparator
.comparingInt<Pair<String, Int>> { it.second }
.thenComparing { it.first }
解决方案
我想这就是你要找的东西:
sortedWith(compareBy({ it.first }, {it.second})
推荐阅读
- javascript - React Router 以编程方式导航到路由
- python - 将 TensorFlow 安装到现有的 Anaconda 环境?
- gitlab-ci - Gitlab/CI 作业规则评估
- c# - 如何在 Unity 中只跳转一次?
- lua - 如何在lua中获取数组的大小
- c - 超时处理 libcurl 中止
- powershell - Powershell - 获取任务计划程序运行结果的历史记录
- javascript - 变量的引用在 jquery 中不起作用
- c# - WPF WindowsFormsHost 内存泄漏
- textedit - Big Sur TextEdit 删除行跳转到纯文本文件的开头