Avatar ·

Was macht der Operator ?: in Kotlin? (Elvis Operator)

Hallo zusammen! Ich habe vor kurzem angefangen, Kotlin zu lernen, und bin auf einen seltsamen Operator `?:` gestoßen. Ich habe ihn in fremdem Code gesehen, kann aber nicht verstehen, was er macht.\n\nZum Beispiel gibt es diesen Code:\n\n```kotlin\nval name: String? = null\nval result = name ?: "Unknown"\n```\n\nIch verstehe, dass `String?` bedeutet, dass die Variable null sein kann. Aber was macht `?:`? Warum wird `result` zu "Unknown", obwohl `name` null ist? In Java würde ich `if (name != null) name else "Unknown"` schreiben, aber hier ist es nur ein einziges Zeichen.\n\nBitte erklärt mir in einfachen Worten, wie dieser Operator funktioniert, und zeigt mir Beispiele. Mich interessiert auch, ob man ihn nicht nur mit einfachen Werten, sondern auch mit Funktionen verwenden kann? Und gibt es irgendwelche Fallstricke?\n\nVielen Dank im Voraus!\n<<>>

Der Elvis-Operator in Kotlin

Der Operator