有没有一种将
Java ArrayList转换为Kotlin数组的简单方法?以下代码:
fun test(): Array<String> { val elems = ArrayList<String>() return elems.toArray() }
给出错误:
main.kt:2:15: error: unresolved reference: ArrayList val elems = ArrayList<String>() ^
我正在解析一些JSON,并且不知道有多少元素要结束,但是一旦我读过它们,我不需要以任何方式修改数据,所以我以为我会去Kotlin数组作为数据类型.
解决方法
为什么要使用数组? Kotlin数组是可变的,就像Java数组一样.您应该使用Kotlin列表,而不是MutableList,这是不可变的. 至于为什么代码不编译:toArray返回一个Object [],如果你想要一个List的String [],你需要使用一个Array作为参数的toArray版本.