gpt4 book ai didi

kotlin - sortedBy() 选择器不排序列表

转载 作者:行者123 更新时间:2023-12-02 13:08:40 31 4
gpt4 key购买 nike

我有一个 sortedBy{} 语句,它打算按 String 元素的长度对 List 进行排序:

var animals: List<String> = listOf("tiger", "cat", "dragon", "elephant")
fun strLength(it: String) = it.length
animals.sortedBy { strLength(it) }
animals.forEach {println(it)}

但是它只打印初始订单。知道为什么吗?

最佳答案

您必须分配 sortedBy 的输出。

  animals = animals.sortedBy { strLength(it) }

因为,与 Kotlin 中的许多其他函数一样,sortedBy 不会改变输入并尊重不变性。所以它返回一个新的集合。所以它减轻了副作用。 Kotlin 鼓励这种不可变的方法。但是,如果需要,这些集合有可变的副本。

关于kotlin - sortedBy() 选择器不排序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54954119/

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