2017-10-02 44 views
-1

コンストラクタでmutableListOfを使用することはできません。しかし、私はそれを クラス本体で使用できます。これは既知のバグですか、それともこのようにすることはできませんか?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を取得します。

答えて

5

mutableListOfは関数です。あなたが必要とするものはタイプです。ですので、代わりにMutableListを使用してください。

var listString: MutableList<String> 

それとも、あなたはlistStringにデフォルト値を提供する場合、あなたはこのようにそれを記述する必要があります。

var listString: MutableList<String> = mutableListOf() 
1

機能mutableListOfは標準kotlinライブラリの一部である、ライブラリ関数です。

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

は、それはあなたの戻り値の型であり、また、あなたのconstructorのパラメータの型である必要がありMutableList<T>を与えます。これを修正するには、listStringMutableListにしてください。

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