Avatar ·

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

Hallo! Ich habe gerade angefangen, Kotlin nach Java zu lernen, und bin auf einen seltsamen Operator ?: gestoßen. Ich habe ihn in fremdem Code gesehen, kann aber nicht verstehen, was er macht. Hier ist ein Beispiel, das ich gefunden habe: ```kotlin val name: String? = null val displayName = name ?: "Guest" println(displayName) // Gibt "Guest" aus ``` Wenn ich dasselbe mit if-else schreibe, brauche ich 3-4 Zeilen. Ist ?: also eine Art verkürzte Syntax? Aber ich bin mir nicht sicher, wann ich ihn verwenden sollte und wann besser eine normale Überprüfung ausreicht. Außerdem habe ich diesen seltsamen Code gesehen: ```kotlin val length = text?.length ?: 0 ``` Hier kommt zuerst ?. (safe call) und dann ?:. Ist das überhaupt erlaubt? Und was passiert, wenn text null ist? Bitte erklären Sie, wie dieser Operator funktioniert, wie er sich von normalem if-else unterscheidet und ob es