Sobes.tech
Junior — Middle

Is de waarde van het type val onveranderlijk na de declaratie?

sobes.tech AI

Antwoord van AI

In Kotlin betekent het sleutelwoord val een onveranderlijke verwijzing, dat wil zeggen, nadat een variabele die met val is gedeclareerd, een waarde heeft gekregen, kan deze verwijzing niet worden gewijzigd naar een ander object. Dit betekent echter niet dat het object waarnaar val verwijst onveranderlijk is. Als het object veranderlijk is (bijvoorbeeld MutableList), kan de interne toestand worden gewijzigd, ondanks dat de val-referentie niet verandert.

Voorbeeld:

val list = mutableListOf(1, 2, 3)
list.add(4) // Dit is toegestaan, de inhoud van de lijst wordt gewijzigd

// list = mutableListOf(5, 6) // Fout: niet mogelijk om een `val` opnieuw toe te wijzen

Dus, val garandeert de onveranderlijkheid van de verwijzing, maar niet die van het object.