copyOfRange中未解决的引用错误

时间:2017-06-10 20:41:58

标签: kotlin

我正在尝试将firstArray的前2个元素复制到我的secondArray。

var firstArray = arrayListOf(1,2,3,4)

var secondArray = firstArray.copyOfRange(0,1)

但是由于某种原因,我在copyOfRange中遇到“未解决的引用”错误。

如果我为firstArray定义一个数组类型,我可以解决问题,但我不想这样做,因为它将来可以包含不同的变量

1 个答案:

答案 0 :(得分:2)

arrayListOf函数返回ArrayList。如果这是您想要使用的,那么您应该使用subList函数:

val firstList = arrayListOf(1, 2, 3, 4)
val secondList = firstList.subList(0, 1)

请注意subList没有创建副本,您可以通过toList调用制作副本,例如:

val secondList = firstList.subList(0, 1).toList()

或者显式调用ArrayList构造函数:

val secondList = ArrayList(firstArray.subList(0,1))

如果您想使用Array,请使用arrayOf,然后您可以使用copyOfRange

val firstArray = arrayOf(1, 2, 3, 4)
val secondArray = firstArray.copyOfRange(0, 1)