我是 Kotlin 的初学者。我想初始化一个空的自定义类数组。大多数 Kotlin 教程都关注原始类型 Array,而不是自定义类 Array。
我尝试了以下方法,但没有成功。
class MyAudioPlayer {
// Error
// Type mismatch: inferred type is Unit but AudioItem was expected.
var items: Array<AudioItem> = Array<AudioItem>(0) {}
......
}
Run Code Online (Sandbox Code Playgroud)
有什么建议?谢谢
您正在使用的Array
构造函数接受一个大小和一个为每个索引创建一个元素的 lambda,例如,您可以像这样使用它(假装AudioItem
接受一个Int
参数):
var items: Array<AudioItem> = Array<AudioItem>(0) { index -> AudioItem(index) }
Run Code Online (Sandbox Code Playgroud)
但是要创建一个空的Array
,您可以使用arrayOf
:
var items: Array<AudioItem> = arrayOf()
Run Code Online (Sandbox Code Playgroud)
或者干脆emptyArray
:
var items: Array<AudioItem> = emptyArray()
Run Code Online (Sandbox Code Playgroud)