Kotlin 中 var 和 val 的区别是什么?

· 约 2 分钟读完 · 第 7 / 200 章

推荐答案

在 Kotlin 中,var 和 val 的主要区别在于它们的可变性:

  • var:用于声明可变变量。使用 var 声明的变量可以在初始化后被重新赋值。
  • val:用于声明不可变变量。使用 val 声明的变量在初始化后不能被重新赋值,类似于 Java 中的 final 变量。

本题详细解读

var 的使用

var 是可变变量的声明关键字。一旦变量被声明为 var,你可以在程序的任何地方重新赋值给它。例如:

在这个例子中,count 被声明为 var,因此它的值可以从 10 更改为 20。

val 的使用

val 是不可变变量的声明关键字。一旦变量被声明为 val,它的值在初始化后就不能再被修改。例如:

在这个例子中,name 被声明为 val,因此尝试重新赋值会导致编译错误。

注意事项

  • val 并不意味着对象不可变:虽然 val 声明的变量本身不可变,但如果它是一个对象引用,对象的内部状态仍然可以被修改。例如:

  • var 和 val 的类型推断:Kotlin 支持类型推断,因此在声明变量时,通常不需要显式指定类型。例如:

总结

  • 使用 var 声明可变变量,允许重新赋值。
  • 使用 val 声明不可变变量,不允许重新赋值。
  • val 声明的变量虽然不可变,但对象内部状态仍然可以修改。