我正在尝试将用户从我的数据库映射到只有用户名的ArrayList,因为我需要数组中的第一个条目为空,因为字符串数组进入Spinner的数组适配器。
所以,如果我有这样的代码:
val users = ArrayList<String>()
users[0] = ""
dh.getUsers().mapTo(users) { it.toString() }
那么用户仍然会在第0个位置拥有“”,或者mapTo会覆盖它吗?
答案 0 :(得分: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
}
如您所见,它在add()
对象上使用destination
,因此它不会覆盖位置0
的字符串和第一个{{1}的结果变换将插入位置toString()
。