Kotlinで特定の数の要素を持つオブジェクトの配列を作成したいのですが、問題は宣言内のすべてのオブジェクトの初期化の現在の値ではないことです、私は試しました:
var miArreglo = Array<Medico>(20, {null})
javaでは、これがあり、まさに私が欲しいものですが、Kotlinでは必要です。 :
Medico[] medicos = new Medico[20];
for(int i = 0 ; i < medicos.length; i++){
medicos[i] = new Medico();
}
上記のJavaコードと同等のKotlinkは何でしょうか?
また、私は試しました:
var misDoctores = arrayOfNulls<medic>(20)
for(i in misDoctores ){
i = medic()
}
しかし、私はAndroid Studioは私にメッセージを表示します:「Valは再割り当てできません」
これに相当するKotlinは次のようになります。
val miArreglo = Array(20) { Medico() }
しかし、Kotlinでは Lists を使用することを強くお勧めします。あなたの場合、List
は変更可能である必要はないので、次のようなアドバイスをします。
val miArreglo = List(20) { Medico() }
上記の2つのスニペットは簡単に説明できます。最初のパラメーターは明らかにArray
またはList
サイズJava 2番目はラムダ関数で、init { ... }
関数。 init { ... }
関数は何らかの操作で構成でき、最後の値は常に戻り値の型と戻り値、つまりこの場合はMedico
オブジェクトになります。
また、val
の代わりにvar
とList
を再割り当てすべきではないため、Array
を使用することを選択しました。 List
を編集する場合は、代わりにMutableList
を使用してください。
val miArreglo = MutableList(20) { Medico() }
次に、このリストを編集できます。例:
miArreglo.add(Medico())