Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Kotlin阵列操作_Arrays_Kotlin - Fatal编程技术网

Arrays Kotlin阵列操作

Arrays Kotlin阵列操作,arrays,kotlin,Arrays,Kotlin,我有一个int数组,它需要在函数中发送一个对象,将数组中的每个元素乘以10,然后返回一个新数组。在kotlin中,函数参数是val,因此我们不能更改当前数组的值。使用或简单使用var 使用或简单使用var 虽然函数参数在Kotlin中是val,这意味着您不能修改它们指向的对象,但在您的情况下,数组仍然可以是可变的 如果要修改传递给函数的数组,当然可以这样做,这将更改数组中引用该数组的所有人的值: fun multiplyByTenInPlace(array: IntArray) { fo

我有一个int数组,它需要在函数中发送一个对象,将数组中的每个元素乘以10,然后返回一个新数组。在kotlin中,函数参数是val,因此我们不能更改当前数组的值。

使用或简单使用var

使用或简单使用var

虽然函数参数在Kotlin中是val,这意味着您不能修改它们指向的对象,但在您的情况下,数组仍然可以是可变的

如果要修改传递给函数的数组,当然可以这样做,这将更改数组中引用该数组的所有人的值:

fun multiplyByTenInPlace(array: IntArray) {
    for (i in array.indices) {
        array[i] = array[i] * 10
    }
}
如果要创建新数组以返回新值,请执行以下操作:

fun multiplyByTen(array: IntArray): IntArray {
    return array.map { it * 10 }.toIntArray()
}
或者更好,不在中间创建列表:

fun multiplyByTen(array: IntArray): IntArray {
    return IntArray(array.size) { i -> array[i] * 10 }
}

虽然函数参数在Kotlin中是val,这意味着您不能修改它们指向的对象,但在您的情况下,数组仍然可以是可变的

如果要修改传递给函数的数组,当然可以这样做,这将更改数组中引用该数组的所有人的值:

fun multiplyByTenInPlace(array: IntArray) {
    for (i in array.indices) {
        array[i] = array[i] * 10
    }
}
如果要创建新数组以返回新值,请执行以下操作:

fun multiplyByTen(array: IntArray): IntArray {
    return array.map { it * 10 }.toIntArray()
}
或者更好,不在中间创建列表:

fun multiplyByTen(array: IntArray): IntArray {
    return IntArray(array.size) { i -> array[i] * 10 }
}

嗨,欢迎来到SO。请先阅读这篇文章,同时也感谢大家欢迎我加入。但如果您知道更好的答案,请告诉我Kotlin IntArray是一个对象,它的所有更改都适用于对象,您将其传递到函数hi&欢迎使用SO。请先阅读这篇文章,同时也感谢大家欢迎我加入。但如果您知道更好的答案,请告诉我Kotlin IntArray是一个对象,它的所有更改都应用于对象,即您传递到函数中的对象。您不能在函数的参数中使用var。您不能在函数的参数中使用var