0Pricing
Kotlin Academy · Lektion

Option und Nullable: Wann Sie welches verwenden

Vergleichen Sie Arrows Option-Typ mit nullbaren Kotlin-Typen und wählen Sie die passende Variante.

Option und Nullable: Wann Sie welches verwenden ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 3 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 Kotlin Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.

Zwei Möglichkeiten, Abwesenheit darzustellen

Kotlin verfügt über integrierte nullable Typen (T?), die „ein Wert oder nichts“ darstellen. Arrow bietet außerdem Option — einen versiegelten Typ mit Some(value: A) und None. Beide lösen dasselbe Problem, passen aber zu unterschiedlichen Kontexten.

Nullable Typen in Kotlin

val name: String? = findUser(id)?.name
val display = name ?: "Anonymous"

Arrows Option<A>

import arrow.core.Option
import arrow.core.Some
import arrow.core.None
import arrow.core.toOption

val opt: Option<String> = "hello".toOption()   // Some("hello")
val absent: Option<String> = None

Zwischen Option und Nullable konvertieren

val opt: Option<String> = nullableString.toOption()
val back: String? = opt.getOrNull()

map und flatMap für Option

val length: Option<Int> = "hello".toOption().map { it.length }  // Some(5)
val noneLength: Option<Int> = (null as String?).toOption().map { it.length }  // None

filter für Option

val positiveAge: Option<Int> = 25.toOption().filter { it > 0 }  // Some(25)
val rejectedAge:  Option<Int> = (-1).toOption().filter { it > 0 }  // None

fold: Option verarbeiten

val result: String = someOption.fold(
    ifEmpty = { "Nothing here" },
    ifSome  = { value -> "Got: $value" }
)

Wann Sie Nullable T? bevorzugen sollten

Wann Sie Option<A> bevorzugen sollten

Option innerhalb von either { }

fun findUserOpt(id: Long): Option<User> = TODO()

fun getUser(id: Long): Either<UserError, User> = either {
    findUserOpt(id)
        .toEither { UserError.NotFound }
        .bind()
}

Das Anti-Pattern mit Option

Schnelltest

Zusammenfassung: Option und nullbare Typen

Häufig gestellte Fragen

Ist die Lektion „Option und Nullable: Wann Sie welches verwenden“ kostenlos?

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

Was lerne ich in „Option und Nullable: Wann Sie welches verwenden“?

Vergleichen Sie Arrows Option-Typ mit nullbaren Kotlin-Typen und wählen Sie die passende Variante. Du übst Kotlin 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 Kotlin Academy zu starten?

Keine Vorkenntnisse erforderlich. Kotlin 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 3 von 4.

Wie lange dauert die Lektion „Option und Nullable: Wann Sie welches verwenden“?

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 Kotlin Academy-Lektion Code schreiben und ausführen?

Ja. Jede Kotlin 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. Either : Typsichere Fehlerbehandlung ohne Exceptions
  2. Arrow-Raise-DSL: Typisierte Fehler kombinieren
  3. Option und Nullable: Wann Sie welches verwenden
  4. Funktionale Domänenmodellierung mit Arrows Core-Typen
← Zurück zu Kotlin Academy