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。

3 Solutions collect form web for “Java ArrayList到Kotlin数组”

为什么使用数组? 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) } 
  • Kotlin mutableMap.put返回空值
  • Android Kotlin nextin排除了最后的随机食物
  • 如何在Kotlin中用动态编程实现一个纯函数?
  • 为什么在一个mutableList上的.map实际上并没有改变Kotlin中List的值?
  • Kotlin - 了解吸气者和安慰者
  • Android工作室不解决在IDE中使用Kotlin(.kt)编写的类,但编译正常
  • Kotlin字符串到Int数组
  • 从字符串实例化一个函数?
  • Kotlin Dagger2找不到符号ApplicationModule_ProvideApplicationFactory
  • 在Kotlin中为variables使用“m”前缀
  • 带Kotlin的LMAX Disruptor:不能使用lambda?
  • Kotlin language will be the best programming language for Android.