小编Yon*_*dez的帖子

为什么打印 IntArray 显示的是地址而不是数组的值?

我有点困惑为什么当我尝试打印如下所示的任何基本类型的数组时,它返回一个地址而不是数组中的实际值。

fun notInPlaceRevers(array : IntArray): IntArray{
  val arrayB = IntArray(5)

  for (i in 0 until array.size)
      array[i] =  array[(array.size -1)  - i]

  return arrayB
}



fun main(args: Array<String>) {
  val initialArray = intArrayOf(2,3,4,5,6)

  print("${notInPlaceRevers(initialArray)}")
}
Run Code Online (Sandbox Code Playgroud)

它打印出这个 --> [I@3834d63f

现在我已经测试过了,当我执行 foreach 循环时,它会打印出每个索引中的值,例如

for(element in initialArray)
  print("$element")
Run Code Online (Sandbox Code Playgroud)

这是否与 kotlin 与 java 类似,在将对象传递给函数时传递对象引用的副本有关。那么,当打印原始数组时,我会返回引用吗?

还有另一种更简单的方法来打印原始数组吗?

kotlin

6
推荐指数
1
解决办法
1538
查看次数

标签 统计

kotlin ×1