Kotlin的mapTo()会覆盖数组中的数据吗?
我想从我的数据库的用户映射到一个ArrayList的只是他们的用户名,与捕获的是,我需要数组中的第一个条目是空的,因为字符串数组正在进入一个微调的arrays适配器。
所以如果我有这样的代码:
val users = ArrayList() users[0] = "" dh.getUsers().mapTo(users) { it.toString() }
那么用户是否仍然在第0位,还是将地图覆盖呢?
以下是mapTo()
的代码:
public inline fun > Iterable.mapTo(destination: C, transform: (T) -> R): C { for (item in this) destination.add(transform(item)) return destination }
正如你所看到的,它在destination
对象上使用了add()
,因此它不会覆盖位置0
处的字符串,而第一个toString()
变换的结果将被插入到位置1
。