Avatar ·

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-