如何在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
答案 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)