Avatar ·

O que o operador !! (dupla exclamação) faz em Kotlin e quando usá-lo?

Olá a todos! Comecei a aprender Kotlin depois de Java e não consigo entender o operador `!!`. Dizem que Kotlin é elogiado por sua null-safety, mas tem essa dupla exclamação que, pelo que entendi, pode causar NullPointerException. Estou escrevendo um pequeno aplicativo de notas. Tenho uma função que busca um usuário pelo ID no banco de dados e retorna o nome dele. Se o usuário não for encontrado, retorna null. Aqui está um exemplo de código: ```kotlin fun getUserName(userId: Int): String? { // retorna null se o usuário não for encontrado return database.findUser(userId)?.name } ``` Depois chamo essa função e quero exibir o nome em um TextView: ```kotlin val name = getUserName(123) textView.text = name // Erro: Type mismatch. Required: String, Found: String? ``` O compilador reclama que name pode ser null. Encontrei na internet que posso usar `!!`: ```kotlin textView.text = name!! ``` Mas não entendo: para que serve toda essa null-