Avatar ·

¿Qué hace el operador !! (double-bang) en Kotlin y para qué sirve?

¡Hola a todos! Acabo de empezar a aprender Kotlin después de Java y me encontré con un operador extraño `!!`. Por ejemplo, vi este código: ```kotlin val name: String? = getUserName() val length = name!!.length ``` Entiendo que `?` significa que la variable puede ser null. Pero, ¿para qué sirve `!!`? Parece que si estoy seguro de que el valor no es null, puedo simplemente usar `?.` o escribir `if (name != null)`. Y si me equivoco, obtendré un NullPointerException, ¡eso es malo! En Java estoy acostumbrado a verificar null con `if`, pero aquí hay un operador agresivo. ¿Quizás es un parche para quienes son perezosos para escribir verificaciones? ¿O hay situaciones donde `!!` está realmente justificado? Expliquen, por favor, para qué sirve, cómo funciona y si vale la pena usarlo en proyectos reales. Se agradecen ejemplos de código. <<>>

¿Qué es el operador `!!` (double-bang)?

El operador !! en Kotlin se llama "not-null assertion operator" (operador de aserción no nulo). Su