Kotlin - 将List转换为MutableList的最常用方法

Mat*_*dim 48 android kotlin

我有一个getContacts返回List 的方法(),我需要将此结果转换为MutableList.目前我能想到的最佳方式是这样的:

val contacts: MutableList<Contact> = ArrayList(presenter.getContacts())
Run Code Online (Sandbox Code Playgroud)

是否有更惯用/"少Java"的方式来做到这一点?

hot*_*key 85

考虑使用该toMutableList()功能:

presenter.getContacts().toMutableList()
Run Code Online (Sandbox Code Playgroud)

toMutableList()对于一个可能要转换为可变列表STDLIB类型的扩展名:Collection<T>,Iterable<T>,Sequence<T>,CharSequence,Array<T>和原始的阵列.


vee*_*ong 12

如果您只想要 ArrayList,您可以创建自己的 Kotlin 扩展。

fun <T> List<T>.toArrayList(): ArrayList<T>{
    return ArrayList(this)
}
Run Code Online (Sandbox Code Playgroud)

然后你可以在你的应用程序中使用它,比如

myList.toArrayList()
Run Code Online (Sandbox Code Playgroud)

简单易行