Menu
Coddy logo textTech

Nullable-Typen

Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 13 von 93.

Manchmal benötigst du tatsächlich eine Variable, die „nichts“ enthalten kann. Beispielsweise existiert der zweite Vorname eines Benutzers möglicherweise nicht, oder eine Suche liefert keine Ergebnisse. Kotlin ermöglicht dies durch nullable Typen.

Um einen Typ nullable zu machen, füge ein ? nach dem Typnamen hinzu:

fun main() {
    var middleName: String? = "Marie"
    middleName = null  // Das ist jetzt erlaubt!
    
    val age: Int? = null  // Kann einen Int oder null halten
}

Das ? teilt Kotlin mit: „Diese Variable könnte null sein, gehe also vorsichtig damit um.“ Ohne das ? ist der Typ nicht-nullbar und kann niemals null enthalten.

Wichtig: Nullable und nicht-nullable Typen sind unterschiedlich. Du kannst einer nicht-nullable Variablen nicht direkt einen nullable Wert zuweisen:

fun main() {
    val nullableName: String? = "Alice"
    val regularName: String = nullableName  // Fehler!
}

Diese Unterscheidung ist beabsichtigt. Sie zwingt dich dazu, die Möglichkeit von null zu behandeln, bevor du den Wert verwendest. In den kommenden Lektionen lernst du die sicheren Möglichkeiten kennen, die Kotlin für die Arbeit mit nullbaren Werten bietet.

challenge icon

Aufgabe

Einfach

Deklariere die folgenden nullable Variablen:

  • Eine nullable String-Variable namens nickname mit dem Wert "Shadow"
  • Eine nullable Int-Variable namens age mit dem Wert null
  • Eine nullable Double-Variable namens balance mit dem Wert 99.5

Gib anschließend alle drei Werte mithilfe von println() in separaten Zeilen aus.

Denke daran, nach dem Typnamen ? zu verwenden, damit er nullable wird. Beim Ausgeben eines null-Werts wird das Wort null angezeigt.

Probier es selbst

fun main() {
    // TODO: Deklariere die folgenden nullbaren Variablen:
    // 1. Ein nullbarer String namens 'nickname' mit dem Wert "Shadow"
    // 2. Ein nullbarer Int namens 'age' mit dem Wert null
    // 3. Ein nullbarer Double namens 'balance' mit dem Wert 99.5
    
    // Dann gib alle drei Werte in separaten Zeilen aus
    
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Kotlin-Playground