首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么打印IntArray显示的是地址而不是数组的值?

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

Stack Overflow用户
提问于 2018-10-09 07:30:57
回答 2查看 816关注 0票数 6

我有点困惑,为什么当我试图打印出任何原始类型的数组时,它返回一个地址,而不是数组中的实际值。

代码语言:javascript
运行
复制
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)}")
}

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

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

代码语言:javascript
运行
复制
for(element in initialArray)
  print("$element")

这是否与kotlin与java类似,在将对象传递给函数时,它会传递对象引用的副本。所以当我打印一个原始数组的时候,我得到的是引用?

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

EN

回答 2

Stack Overflow用户

发布于 2018-10-09 09:58:57

代码语言:javascript
运行
复制
import java.util.Arrays

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

    println(Arrays.toString(array))
}

在浏览时发现了这个

票数 0
EN

Stack Overflow用户

发布于 2020-10-27 22:37:30

这也是可行的。只需将它们转换为列表即可。

代码语言:javascript
运行
复制
print(notInPlaceRevers(initialArray).toList())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52711363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档