gpt4 book ai didi

java - 为什么 Kotlin sortBy() 似乎以相反的顺序运行?

转载 作者:行者123 更新时间:2023-11-29 09:58:37 24 4
gpt4 key购买 nike

当我执行时:

val array = arrayListOf<String?>(null, "hello", null)
array.sortBy { it == null }
println(array)

我希望它会首先打印 null 值,因为那是我指定的选择器。但是,println(array) 返回 [hello, null, null]

这是为什么?

最佳答案

表达式:

it == null

返回一个Boolean结果truefalse,这就是你用来对数组进行排序的结果。
true 大于false,执行即可看到:

println(false < true)

将打印

true

使用您的代码:

array.sortBy { it == null }

对于表达式 it == null 返回 false 的每个项目,它将被放置在它将返回 true 的任何项目之前。
反之亦然:

array.sortBy { it != null }

结果:

[null, null, hello]

关于java - 为什么 Kotlin sortBy() 似乎以相反的顺序运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56413637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com