¿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