Que fait l'opérateur !! (double point d'exclamation) en Kotlin et quand faut-il l'utiliser ?
Bonjour à tous ! Je viens de commencer à apprendre Kotlin après Java et je n'arrive pas à comprendre l'opérateur `!!`. Apparemment, Kotlin est vanté pour sa null-sécurité, mais voilà un double point d'exclamation qui, d'après ce que j'ai compris, peut au contraire provoquer un NullPointerException.
J'écris une petite application de notes. J'ai une fonction qui cherche un utilisateur par ID dans la base de données et retourne son nom. Si l'utilisateur n'est pas trouvé, elle retourne null. Voici un exemple de code :
```kotlin
fun getUserName(userId: Int): String? {
// retourne null si l'utilisateur n'est pas trouvé
return database.findUser(userId)?.name
}
```
Ensuite, j'appelle cette fonction et je veux afficher le nom dans un TextView :
```kotlin
val name = getUserName(123)
textView.text = name // Erreur : Type mismatch. Required: String, Found: String?
```
Le compilateur se plaint que name peut être null. J'ai trouvé sur Internet qu'on peut utiliser `!!` :
```kotlin
textView.text = name!!
```
Mais je ne comprends pas : à quoi sert alors toute cette null-