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.