Java ArrayList 到 Kotlin 数组
Java ArrayList to Kotlin Array
是否有将 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 List,它与 MutableList 不同,它是不可变的。
至于为什么代码不能编译:toArray returns 一个 Object[],如果你想要一个 List 中的 String[],你需要使用以 Array 作为参数的 toArray 版本。
尝试使用扩展函数toTypedArray
,例如:
fun test(): Array<String> {
val elems = arrayListOf<String>()
return elems.toTypedArray()
}
你可以使用 kotlin list 它很容易使用为什么将 java 数组转换为 kotlin 数组都是可变的。
试试这个....
fun learnlist(){
var stringList= listOf<String>("a","b","c","d")
for (st in stringList)
print(st)
var intlist= listOf<Int>(1,2,3,4,5)
for(i in intlist)
print(i)
}
在 Kotlin 中将 ArrayList 转换为数组
import java.util.*
fun main(args: Array<String>) {
val list = ArrayList<String>()
list.add("a")
list.add("b")
val array = arrayOfNulls<String>(list.size)
list.toArray(array)
println(Arrays.toString(array))
}
输出 : [a, b]
在 Kotlin 中将数组转换为列表
import java.util.*
fun main(args: Array<String>) {
val array = arrayOf("a", "b")
val list = Arrays.asList(*array)
println(list)
}
输出:[a, b]
是否有将 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 List,它与 MutableList 不同,它是不可变的。 至于为什么代码不能编译:toArray returns 一个 Object[],如果你想要一个 List 中的 String[],你需要使用以 Array 作为参数的 toArray 版本。
尝试使用扩展函数toTypedArray
,例如:
fun test(): Array<String> {
val elems = arrayListOf<String>()
return elems.toTypedArray()
}
你可以使用 kotlin list 它很容易使用为什么将 java 数组转换为 kotlin 数组都是可变的。
试试这个....
fun learnlist(){
var stringList= listOf<String>("a","b","c","d")
for (st in stringList)
print(st)
var intlist= listOf<Int>(1,2,3,4,5)
for(i in intlist)
print(i)
}
在 Kotlin 中将 ArrayList 转换为数组
import java.util.*
fun main(args: Array<String>) {
val list = ArrayList<String>()
list.add("a")
list.add("b")
val array = arrayOfNulls<String>(list.size)
list.toArray(array)
println(Arrays.toString(array))
}
输出 : [a, b]
在 Kotlin 中将数组转换为列表
import java.util.*
fun main(args: Array<String>) {
val array = arrayOf("a", "b")
val list = Arrays.asList(*array)
println(list)
}
输出:[a, b]