Elvis-Operator
Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 15 von 93.
Der Safe-Call-Operator eignet sich hervorragend, um Abstürze zu vermeiden, aber manchmal brauchst du einen tatsächlichen Wert anstelle von null. Mit dem Elvis-Operator ?: kannst du einen Standardwert angeben, wenn ein Ausdruck null ist.
Die Syntax ist einfach: Setze ?: nach einem nullbaren Ausdruck, gefolgt vom Ersatzwert:
fun main() {
val name: String? = null
val displayName = name ?: "Guest"
println(displayName) // Gibt aus: Guest
}Wenn die linke Seite nicht null ist, wird dieser Wert verwendet. Wenn sie null ist, wird die rechte Seite zum Ergebnis. Das funktioniert perfekt mit sicheren Aufrufen:
fun main() {
val text: String? = null
val length = text?.length ?: 0
println(length) // Gibt aus: 0
val greeting: String? = "Hello"
val greetingLength = greeting?.length ?: 0
println(greetingLength) // Gibt aus: 5
}Der Operator hat seinen Namen, weil ?: von der Seite betrachtet wie Elvis’ Frisur aussieht. Noch wichtiger ist, dass er dir eine saubere Möglichkeit bietet, nullable Typen mit sinnvollen Standardwerten in nicht-nullable Werte umzuwandeln.
Aufgabe
EinfachEin Paket hat ein optionales Versandetikett und ein optionales Ziel. Der Ausgangscode stellt beide Nullable-Werte bereit. Verwende ?:, um "Pending" auszuwählen, wenn das Versandetikett fehlt, und "Unassigned", wenn das Ziel fehlt. Gib das ausgewählte Etikett und anschließend das ausgewählte Ziel in separaten Zeilen aus.
Probier es selbst
fun main() {
val trackingLabel: String? = null
val destination: String? = "Harbor"
// Wähle und drucke die beiden Anzeigewerte.
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorErweiterte ZuweisungVergleichsoperatorenRückblick – Einfache Mathematik7Grundlegende Ein-/Ausgabe
println-FunktionString-VorlagenReadLine-EingabeTypkonvertierungWiederholung – Jahre bis zur RenteWiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteBenannte ArgumenteStandardwerteFunktionen mit einem AusdruckRückblick – Sigma-FunktionRückblick – Validierungsfunktion2Variablen
Val vs VarTypinferenzZahlenStringBooleanNamenskonventionenRückblick – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Logische Operatoren Teil 3Ternär mit If-AusdruckWiederholung – Einfache Logik8Rechner zum Aufteilen der Rechnung
WillkommensnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion3Nullbarkeit
Was ist Null-Sicherheit?Nullable-TypenOperator für sicheren AufrufElvis-OperatorGrundlagen der FunktionsaufgabeAssertion auf Nicht-NullRückblick – Sicherer Zugriff6Entscheidungen treffen
If-AnweisungIf - ElseIf als AusdruckWhen-AusdruckWhen mit BereichenRückblick - Einfacher Taschenrechner9Schleifen
For-SchleifeWhile-SchleifeDo-While-SchleifeBreakContinueBereiche in SchleifenVerschachtelte SchleifeRückblick – FakultätRückblick – Dynamische EingabeÜbe selbstständig: Kotlin-Playground