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

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

var secondArray = firstArray.copyOfRange(0,1)

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

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

最佳答案

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)

08-05 18:26