【发布时间】:2017-05-26 09:53:46
【问题描述】:
在有趣的交换中,我试图用 b1 更改 a1 的值,但它显示 “val 无法重新分配编译时错误”。如果我不能这样改变,那怎么可能呢?
fun swap(a1: String, b1: String) {
val temp = a1
a1 = b1
b1 = temp
}
注意:这只是一个示例,用于了解为什么我无法像在 Java 中那样重新分配局部变量。
【问题讨论】:
-
附注:您的
swap函数根本不会做任何事情。 -
函数参数是本地的,对它们的赋值(Java 中不禁止)不会改变函数之外的任何东西。此外,您可以将任意表达式传递给函数,例如。 G。
swap(9, 42)。此分配可能看起来令人困惑,因此在 Kotlin 中被禁止。
标签: parameters kotlin