Kotlin:无法在类定义中声明mutableListOf类型的参数

我不能在构造函数中使用mutableListOf 。 但是我可以在课堂上使用它。 这是一个已知的错误,或者只是我们不能这样做?

这是我的代码:

 class Model (val title: String, var listString: kotlin.collections.mutableListOf<String>, var selectedIndex: Int = 0) : FormFieldModel(FormFieldType.SELECT_BOX) { var iad = mutableListOf<String>() } 

我在构造函数中得到Unresolved reference: mutableListOf

mutableListOf是一个函数。 你需要的是一种类型。 所以你应该使用MutableList来代替。

 var listString: MutableList<String> 

或者,如果你想给listString提供一个默认值,你需要像这样写:

 var listString: MutableList<String> = mutableListOf() 

函数mutableListOf是库函数,是标准kotlin库的一部分。

 fun <T> mutableListOf(vararg elements: T): MutableList<T> (source) 

它给你一个MutableList<T>这是返回类型 ,也必须是你的constructor的参数类型。 要解决这个问题,只要让你的listString一个MutableList

 class Model (val title: String, var listString: MutableList<String>, var selectedIndex: Int = 0) : FormFieldModel(FormFieldType.SELECT_BOX) { var iad = mutableListOf<String>() }