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