2017-12-03 22 views
0

私は自分のデータベースからユーザー名だけのArrayListにマップしようとしています。文字列の配列がSpinnerの配列アダプターに入っているので、配列の最初の項目が空である必要があります。KotlinのmapTo()は既に配列内のデータを上書きしますか?

私はこのようなコードを持っていたのであれば:

val users = ArrayList<String>() 
users[0] = "" 

dh.getUsers().mapTo(users) { it.toString() } 

をので、ユーザーは0番目の位置に「」があります、またはmapToはそれを上書きしますか?

+0

このようなコードがあれば、 'users' arraylistはその時点で空であるため、' users [0] = "" 'で失敗します。 – Ilya

答えて

2

ここmapTo()ためのコードです:あなたが見ることができるように

public inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.mapTo(destination: C, transform: (T) -> R): C { 
    for (item in this) 
     destination.add(transform(item)) 
    return destination 
} 

、それが故に、それが位置0で文字列を上書きしませんし、最初のtoString()変換の結果は、意志、destinationオブジェクトにadd()を使用しています位置1に挿入してください。

関連する問題