gpt4 book ai didi

kotlin - Kotlin 中 ArrayList() 和 mutableListOf() 之间的区别

转载 作者:IT老高 更新时间:2023-10-28 13:26:14 30 4
gpt4 key购买 nike

private val repositories = mutableListOf<String>()

private val repositories = ArrayList<String>()

都是可变列表,那么mutableListOfArrayList这两个关键字的意义何在?

或者有什么大的不同吗?

最佳答案

两者之间的唯一区别是传达您的意图。

当您编写 val a = mutableListOf() 时,您是在说“我想要一个可变列表,而且我并不特别关心实现”。相反,当您编写 val a = ArrayList() 时,您是在说“我特别想要一个 ArrayList”。

实际上,在当前 Kotlin 编译到 JVM 的实现中,调用 mutableListOf 将产生一个 ArrayList,并且在行为上没有区别:一旦构建了列表,一切都将表现相同。

现在,假设 Kotlin 的 future 版本更改了 mutableListOf 以返回不同类型的列表。

如果 Kotlin 团队认为新的实现更适合大多数用例,他们就会做出这种改变。 mutableListOf 然后会让你透明地使用这个新的列表实现,你会免费获得更好的行为。如果这听起来像您的情况,请使用 mutableListOf

另一方面,也许你花了很多时间思考你的问题,并认为 ArrayList 真的 最适合你的问题,而你没有不想冒险被转移到次优的地方。然后你可能想要直接使用 ArrayList,或者使用 arrayListOf 工厂函数(一个 ArrayList 特定的类似物到 mutableListOf)。

关于kotlin - Kotlin 中 ArrayList<String>() 和 mutableListOf<String>() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43114367/

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