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

时间:2017-10-02 03:34:48

标签: android kotlin

我无法在构造函数中使用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

2 个答案:

答案 0 :(得分:5)

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

var listString: MutableList<String>

或者,如果您想为listString提供默认值,则需要像这样写:

var listString: MutableList<String> = mutableListOf()

答案 1 :(得分:1)

函数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>()
}