Sobes.tech
Junior

Welche Variablen können in einer Datenklasse (data class) verwendet werden?

sobes.tech KI

Antwort von AI

In einer data class können verwendet werden:

  • val (Nur-Lese-Eigenschaft): Die Eigenschaft wird beim Erstellen des Objekts initialisiert und kann anschließend nicht geändert werden. Sie ist Teil der automatisch generierten Methoden (equals(), hashCode(), toString(), copy).
  • var (Veränderbare Eigenschaft): Die Eigenschaft kann nach der Objekterstellung geändert werden. Sie ist ebenfalls Teil der generierten Methoden.
  • Eigenschaften, die im Klassenkörper deklariert sind: Diese Eigenschaften sind kein Teil der Hauptmerkmale der data class und werden nicht in die Standardmethoden einbezogen.

Beispiel:

data class User(
    val id: Int, // nur lesend, Teil der Hauptmerkmale
    var name: String, // veränderbar, Teil der Hauptmerkmale
    val creationTime: Long = System.currentTimeMillis() // nur lesend, mit Standardwert, Teil der Hauptmerkmale
) {
    val isAdmin: Boolean = false // nur lesend, kein Teil der Hauptmerkmale, wird nicht in equals/hashCode/toString aufgenommen
}