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