private val repositories = mutableListOf<String>()
private val repositories = ArrayList<String>()
两者都是可变列表,那么两个关键字有什么意义呢mutableListOf
or ArrayList
?
或者有什么重大区别吗?
两者之间的唯一区别在于传达您的意图。
当你写的时候val a = mutableListOf()
,你是说“我想要一个可变列表,并且我并不特别关心实现”。相反,当你写作时,val a = ArrayList()
,你是说“我特别想要一个ArrayList
".
实际上,在当前Kotlin编译到JVM的实现中,调用mutableListOf
将产生一个ArrayList
,并且行为上没有区别:一旦构建了列表,所有内容都会表现相同。
现在,假设 Kotlin 的未来版本发生了变化mutableListOf
返回不同类型的列表。
更有可能的是,Kotlin 团队只有在认为新的实现更适合大多数用例时才会做出这种改变。mutableListOf
然后会让您透明地使用新的列表实现,并且您将免费获得更好的行为。一起去mutableListOf
如果这听起来像你的情况。
另一方面,也许你花了很多时间思考你的问题,并认为ArrayList
really最适合您的问题,并且您不想冒险转向次优的地方。那么你可能想要使用ArrayList
直接,或使用arrayListOf
工厂函数(ArrayList
-特定类似物mutableListOf
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)