¿Qué hace el operador ?: en Kotlin? (Operador Elvis)
¡Hola! Acabo de empezar a aprender Kotlin después de Java y me encontré con un operador extraño ?:. Lo vi en código de otra persona, pero no puedo entender qué hace.
Aquí hay un ejemplo que encontré:
```kotlin
val name: String? = null
val displayName = name ?: "Invitado"
println(displayName) // Imprime "Invitado"
```
Si escribo lo mismo con if-else, toma 3-4 líneas. Entonces, ?: es una especie de sintaxis abreviada? Pero no estoy seguro de cuándo usarlo y cuándo es mejor usar una verificación normal.
También vi este código extraño:
```kotlin
val length = text?.length ?: 0
```
Aquí primero va ?. (llamada segura), y luego ?:. ¿Es esto legal? ¿Y qué pasa si text es null?
Expliquen, por favor, cómo funciona este operador, en qué se diferencia de un if-else normal y si tiene algún inconveniente. ¡Gracias de antemano!
<<>>
¿Qué es el operador Elvis (?:) en Kotlin?
El operador ?: en Kotlin se llama operador Elvis.