Avatar ·

¿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.