Junior — Middle
Ist der Wert vom Typ val nach seiner Deklaration unveränderlich?
sobes.tech KI
Antwort von AI
In Kotlin bedeutet das Schlüsselwort val eine unveränderliche Referenz, das heißt, nachdem einer Variablen, die mit val deklariert wurde, ein Wert zugewiesen wurde, kann diese Referenz auf ein anderes Objekt nicht mehr geändert werden. Das bedeutet jedoch nicht, dass das Objekt selbst unveränderlich ist. Wenn das Objekt veränderlich ist (z.B. MutableList), kann sein interner Zustand geändert werden, obwohl sich die Referenz val nicht ändert.
Beispiel:
val list = mutableListOf(1, 2, 3)
list.add(4) // Das ist erlaubt, der Inhalt der Liste wird geändert
// list = mutableListOf(5, 6) // Fehler: `val` kann nicht neu zugewiesen werden
Daher garantiert val die Unveränderlichkeit der Referenz, aber nicht die des Objekts.