我有点困惑,为什么当我试图打印出任何原始类型的数组时,它返回一个地址,而不是数组中的实际值。
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循环时,它会打印出每个索引中的值
for(element in initialArray)
print("$element")
这是否与kotlin与java类似,在将对象传递给函数时,它会传递对象引用的副本。所以当我打印一个原始数组的时候,我得到的是引用?
还有另一种更简单的打印原始数组的方法吗?
发布于 2018-10-09 09:58:57
import java.util.Arrays
fun main(args: Array<String>) {
val array = intArrayOf(1, 2, 3, 4, 5)
println(Arrays.toString(array))
}
在浏览时发现了这个
发布于 2020-10-27 22:37:30
这也是可行的。只需将它们转换为列表即可。
print(notInPlaceRevers(initialArray).toList())
https://stackoverflow.com/questions/52711363
复制相似问题