Sobes.tech
Junior — Middle

O valor do tipo val é imutável após a sua declaração?

sobes.tech IA

Resposta da IA

No Kotlin, a palavra-chave val indica uma referência imutável, ou seja, após atribuir um valor a uma variável declarada com val, não é possível alterar essa referência para outro objeto. No entanto, isso não significa que o objeto ao qual val se refere seja imutável. Se o objeto for mutável (por exemplo, MutableList), seu estado interno pode ser alterado, mesmo que a referência val não mude.

Exemplo:

val list = mutableListOf(1, 2, 3)
list.add(4) // Isto é permitido, o conteúdo da lista é alterado

// list = mutableListOf(5, 6) // Erro: não é possível reatribuir um `val`

Portanto, val garante a imutabilidade da referência, mas não do objeto.