function - 函数参数的行为是否像 Kotlin 中的 val 类型的变量?
问题描述
我正在创建一个函数,并尝试增加声明为整数的参数的值。但它表示该参数的值不能重新分配。我是初学者,所以如果我遗漏了一些概念,请告诉我。
解决方案
是的,在 Kotlin 中函数参数不能更改。
(但是,如果它们引用可变对象,则这些对象可以更改。例如,如果您声明fun a(b: List<String>)
了 ,那么您可以将另一个字符串添加到列表中;但您不能设置b
为引用不同的列表。)
这与 Java 不同,Java 中的参数是可变的(除非指定为final
)。
这种行为是在 Kotlin 里程碑 M5.1中宣布的,它被解释为避免混淆(尤其是在构造函数中),并促进良好的风格。
另请参阅此答案。
推荐阅读
- mongodb - 当外部字段和本地字段是对象数组时的MongoDB查找
- javascript - 通过 Javascript 插入服务器端呈现的 HTML
- javascript - 如何修剪 object.values 中的空格?
- java - 有人可以指出这里有什么问题吗
- pytorch - 如何在FP16模式下将pytorch模型转换为TensorRT时保持准确性
- javascript - 安装依赖项后,npm install 会继续显示在其他设备上
- ruby-on-rails - ActiveRecord 不释放内存
- java - 如何在将自定义接口定义为 JpaRepository 时指定复合主键?
- c# - 如何获取当前的 Azure FunctionNameAttribute?
- javascript - 使用 Input html 在 ReactJS 中的搜索栏 UI