ArrayList<String>() 与 arrayListOf<String>()

Aan*_*hta 6 collections kotlin

我正在学习一些 Kotlin 基础知识,并发现了两种语法。

ArrayList<String>()
Run Code Online (Sandbox Code Playgroud)

arrayListOf<String>()
Run Code Online (Sandbox Code Playgroud)

这两者之间有什么区别,因为两者都是 的一部分Kotlin.Collections

Rol*_*and 6

arrayListOf<T>()主要是为了您的方便。vararg-functions 通常会带来(有时可以忽略不计)性能影响,并且在使用arrayListOf(someElements...)arrayListOf()不使用这种便捷方法之间切换基本上会将这个问题委托给作为程序员的您。您必须知道这一点,并且您必须将该代码更改为ArrayList(),如果这种影响正在影响您并且该便利功能不存在。

arrayListOf()基本上就是这样。它返回ArrayList()并被内联。这只是方便,因此当您在arrayListOf(someElements)和之间来回切换时,您实际上不必考虑它arrayListOf()

话虽如此:arrayListOf()ArrayList()其他人已经提到的没有区别,并且arrayListOf(elements)ArrayList使用给定元素构造 an 的便利变体。