Avatar ·

¿Qué hace el operador !! (doble signo de exclamación) en Kotlin y cuándo debería usarse?

¡Hola a todos! Acabo de empezar a aprender Kotlin después de Java y no puedo entender el operador `!!`. Al parecer, Kotlin es elogiado por su null- seguridad, pero aquí hay un doble signo de exclamación que, según entendí, por el contrario, puede causar un NullPointerException. Estoy escribiendo una pequeña aplicación de notas. Tengo una función que busca un usuario por ID en la base de datos y devuelve su nombre. Si el usuario no se encuentra, devuelve null. Aquí hay un ejemplo de código: ```kotlin fun getUserName(userId: Int): String? { // devuelve null si el usuario no se encuentra return database.findUser(userId)?.name } ``` Luego llamo a esta función y quiero mostrar el nombre en un TextView: ```kotlin val name = getUserName(123) textView.text = name // Error: Type mismatch. Required: String, Found: String? ``` El compilador se queja de que name puede ser null. Encontré en internet que se puede usar `!!`: ```kotlin textView.text = name!! ``` Pero no entiendo: ¿para qué sirve toda esta null-