0Pricing
Android Academy · Lektion

Null-Sicherheit

Verstehen Sie das Null-Sicherheitssystem von Kotlin: nullable Typen, den Safe-Call-Operator, den Elvis-Operator und die Vermeidung von NullPointerExceptions.

Null-Sicherheit ist eine kostenlose Android Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Android Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.

Der milliardenschwere Fehler

In Java kann jede Variable null sein und zur Laufzeit eine NullPointerException (NPE) verursachen — einen der häufigsten Abstürze in Android-Apps.

Tony Hoare, der null erfunden hat, bezeichnete es als seinen milliardenschweren Fehler.

Kotlin verhindert NPEs bereits zur Compilezeit mit seinem System der Null-Sicherheit.

Nullable und Non-Nullable

In Kotlin sind Typen standardmäßig non-nullable. Um null zu erlauben, fügen Sie dem Typ ? hinzu:

  • String — garantiert niemals null
  • String? — kann null sein

Der Compiler erzwingt diese Regel — er lässt nicht zu, dass Sie null einem non-nullable Typ zuweisen.

Beispiel für nullable Typen

Der Compiler erkennt Fehler mit null, bevor Ihre App ausgeführt wird:

fun main() {
    val name: String = "Alice"   // never null
    // name = null  // COMPILE ERROR

    var nickname: String? = "Al"  // nullable
    nickname = null               // OK

    println(name)
    println(nickname)  // null
}

Safe-Call-Operator ?.

Der Safe-Call-Operator ?. ruft eine Methode nur auf, wenn das Objekt nicht null ist. Ist es null, gibt der Operator null zurück, anstatt einen Absturz zu verursachen.

nickname?.length → gibt die Länge zurück oder null, wenn nickname null ist.

Safe Calls in Aktion

Verwenden Sie ?., um sicher auf nullable Eigenschaften zuzugreifen:

fun main() {
    var text: String? = "Hello"
    println(text?.length)   // 5
    println(text?.uppercase()) // HELLO

    text = null
    println(text?.length)   // null (no crash!)
    println(text?.uppercase()) // null
}

Elvis-Operator ?:

Der Elvis-Operator ?: liefert einen Standardwert, wenn ein Ausdruck null ist:

val len = text?.length ?: 0

Lesen Sie dies als: „die Länge von text oder 0, wenn text null ist“.

Benannt nach dem Elvis-Emoji 🕺, dessen Frisur wie ?: aussieht.

Beispiel für den Elvis-Operator

Legen Sie mit ?: sichere Standardwerte fest:

fun main() {
    var name: String? = "Bob"
    println(name?.length ?: 0)  // 3

    name = null
    println(name?.length ?: 0)  // 0

    val display = name ?: "Anonymous"
    println(display)  // Anonymous
}

Null-Prüfungen mit if

Innerhalb eines Blocks if (x != null) wandelt Kotlin den nullable Typ automatisch per Smart Cast in einen non-nullable Typ um — Sie müssen innerhalb des Blocks kein ?. verwenden.

Beispiel für einen Smart Cast

Kotlin grenzt den Typ nach einer Null-Prüfung ein:

fun printLength(text: String?) {
    if (text != null) {
        // 'text' is now String (non-nullable) here
        println("Length: ${text.length}") // no ?. needed
    } else {
        println("text is null")
    }
}

fun main() {
    printLength("Kotlin")  // Length: 6
    printLength(null)       // text is null
}

Schnelltest

Welchen Wert ergibt null?.length ?: -1?

Rückblick: Null-Sicherheit

Das Null-Sicherheitssystem von Kotlin verhindert NPEs:

  • Typen sind standardmäßig non-nullable; fügen Sie ? hinzu, um null zu erlauben
  • ?. Safe Call — gibt null zurück, anstatt einen Absturz zu verursachen
  • ?: Elvis-Operator — liefert bei null einen Standardwert
  • Smart Casts innerhalb von if (x != null)-Blöcken

Als Nächstes: Code mit Klassen und Objekten strukturieren.

Häufig gestellte Fragen

Ist die Lektion „Null-Sicherheit“ kostenlos?

Ja — der vollständige Text von „Null-Sicherheit“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Android Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Null-Sicherheit“?

Verstehen Sie das Null-Sicherheitssystem von Kotlin: nullable Typen, den Safe-Call-Operator, den Elvis-Operator und die Vermeidung von NullPointerExceptions. Du übst Android Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Android Academy zu starten?

Keine Vorkenntnisse erforderlich. Android Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Null-Sicherheit“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Android Academy-Lektion Code schreiben und ausführen?

Ja. Jede Android Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Null-Sicherheit
  2. Klassen und Objekte
  3. Datenklassen und versiegelte Klassen
  4. Erweiterungs- und höherwertige Funktionen
← Zurück zu Android Academy