Diferencias entre val y var en Kotlin
Kotlin permite declarar dos tipos de variables: val
y var
. Este artículo discutirá la diferencia entre los dos.
Si bien ambas palabras clave se utilizan para declarar variables, existen algunas diferencias clave entre ellas.
Diferencias entre val
y var
en Kotlin
La diferencia más significativa entre las propiedades val
y var
es que la primera es inmutable. Podemos cambiar el valor de las variables var
, pero no podemos alterar el valor de una variable val
.
Son similares a la palabra clave final
en Java. Algunas otras diferencias entre las variables val
y var
son:
- Las variables
var
se pueden asignar varias veces, mientras que las variablesval
solo se pueden asignar una vez. - Las variables
var
se pueden reasignar, pero las variablesval
no se pueden reasignar.
Ahora que conocemos la diferencia entre val
y var
, veamos algunos ejemplos en los que tratamos de cambiar sus valores.
Usa la palabra clave var
en Kotlin
En este ejemplo, usaremos la palabra clave var
para declarar una variable e intentar cambiar su valor.
var v = "Hello!"
fun main() {
println("This is a var variable: "+v);
// Changing the value of var variable
v = "Welcome!";
println("New value of the var variable is: " +v);
}
Producción:
Haga clic aquí para ver la demostración del código de ejemplo anterior.
Usa la palabra clave val
en Kotlin
Aquí, crearemos una variable inmutable usando la palabra clave val
e intentaremos cambiar su valor.
val v = "Hello!"
fun main() {
println("This is a val variable: "+v);
// Changing the value of val variable
v = "Welcome!";
println("New value of the val variable is: " +v);
}
Producción:
Como podemos ver en la salida, cambiar la variable val
arroja un error: Val no se puede reasignar
.
Haga clic aquí para ver la demostración del código de ejemplo.
Cambiar las propiedades de las variables val
en Kotlin
Si bien no podemos cambiar el valor de las variables declaradas usando la palabra clave val
, aún podemos cambiar sus propiedades. Veamos un ejemplo donde declaramos una variable usando val
y cambiamos sus propiedades.
fun main(args: Array<String>) {
val student = Student("David Shaw",1)
print(student)
student.name = "Joe Smith"
print("\n"+student)
}
data class Student(var name: String = "", var id: Int = 0)
Producción:
Como podemos ver, las propiedades de una variable val
son mutables.
Haga clic aquí para ver la demostración del código de ejemplo.
Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.
LinkedIn