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

时间:2019-04-01 08:44:27

标签: arraylist kotlin

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

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

我收到此错误:

错误

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

4 个答案:

答案 0 :(得分:3)

您可能会对toCollection感兴趣,以便将元素添加到您传递的任何集合中:

categoryList = list.toCollection(ArrayList())

请注意,要解决您的特定问题,您只需使用spread operator (*)。使用*修复程序,它也可以工作:

categoryList = ArrayList(Arrays.asList(*list))

答案 1 :(得分:1)

希望会有所帮助。

var categoryList : ArrayList<String>?=null
        val list = arrayOf("None", "ABC")
        categoryList = list.toCollection(ArrayList())

答案 2 :(得分:1)

另一种方法是使用arrayListOf

 categoryList =arrayListOf("None", "ABC")

答案 3 :(得分:0)


import kotlin.collections.ArrayList

var arr:List<String>=["one","two"]<br>
val array_list:ArrayList<String>=ArrayList(arr)