Java ArrayList到Kotlin数组

有没有简单的方法将Java ArrayList转换为Kotlin数组? 以下代码:

fun test(): Array { val elems = ArrayList() return elems.toArray() } 

给出错误:

 main.kt:2:15: error: unresolved reference: ArrayList val elems = ArrayList() ^ 

我正在解析一些JSON,不知道有多少元素,但是一旦我读了它们,我不需要以任何方式修改数据,所以我想我会去Kotlin数组作为数据types。

为什么使用数组? Kotlin Arrays和Java Arrays一样是可变的。 你应该使用一个Kotlin列表,而不是MutableList,是不可变的。 至于为什么代码不能编译:toArray返回一个Object [],如果你想从一个List中得到一个String [],你需要使用toArray版本,它将一个Array作为它的参数。

尝试使用扩展函数toTypedArray ,如:

 fun test(): Array { val elems = arrayListOf() return elems.toTypedArray() } 

你可以使用kotlin列表,很容易使用为什么转换java数组到kotlin数组都是可变的。

尝试这个….

 fun learnlist(){ var stringList= listOf("a","b","c","d") for (st in stringList) print(st) var intlist= listOf(1,2,3,4,5) for(i in intlist) print(i) }