将 Array<String> 转换为 ArrayList<String>

AI.*_*AI. 9 arraylist kotlin

如何在 Kotlin 中转换Array<String>ArrayList<String>

var categoryList : ArrayList<String>?=null
val list = arrayOf("None", "ABC")
categoryList = ArrayList(Arrays.asList(list))
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

错误

Type inference failed. Expected type mismatch: inferred type is kotlin.collections.ArrayList<Array<String>!> /* = java.util.ArrayList<Array<String>!> */ but kotlin.collections.ArrayList<String>? /* = java.util.ArrayList<String>? */ was expected
Run Code Online (Sandbox Code Playgroud)

Rol*_*and 14

您可能有兴趣toCollection将元素添加到您传递的任何集合中:

categoryList = list.toCollection(ArrayList())
Run Code Online (Sandbox Code Playgroud)

请注意,要解决您的特定问题,您只需要展开运算符 ( *)。随着*应用-修复它会工作太:

categoryList = ArrayList(Arrays.asList(*list))
Run Code Online (Sandbox Code Playgroud)