【发布时间】:2018-05-22 10:21:40
【问题描述】:
我正在使用此代码。
fun main(args : Array<String>){
val someArray : Array<Int> = arrayOf(3,53,2,521,51,23,512,34,124);
println("Original array is ")
someArray.forEach {print("$it , ")}
someArray.map({num -> num*2})
println("Changed array is ")
println()
someArray.forEach { print("$it , ") }
}
但地图功能似乎不起作用。这是它打印的内容
原始数组是 3 , 53 , 2 , 521 , 51 , 23 , 512 , 34 , 124 , 修改后的数组为
3 , 53 , 2 , 521 , 51 , 23 , 512 , 34 , 124 ,
我的问题是为什么数组没有将其元素的值加倍?我在这里错过了什么?
【问题讨论】:
-
您需要将此数组分配给另一个数组。
-
我不想那样做,如何修改现有数组?
-
将
val someArray更改为var someArray。然后someArray = someArray.map({num -> num*2}) -
好的,有没有我可以在不分配的情况下修改它?
-
是的!将
val更改为var以使其可变。然后将映射的结果分配给同一个变量。这就是我在上一条评论中的意思。