Avatar ·

Comment vérifier si une variable lateinit est initialisée en Kotlin ?

Bonjour, collègues ! J'ai commencé à écrire en Kotlin relativement récemment et j'ai rencontré une situation. J'ai une classe dans laquelle j'utilise `lateinit var` pour une propriété. Tout fonctionne, mais je veux vérifier en toute sécurité si cette propriété a déjà été initialisée avant d'y accéder. Si j'essaie d'accéder à une variable `lateinit` non initialisée, j'obtiens une `UninitializedPropertyAccessException`, ce qui casse le programme. Voici un exemple de mon code : ```kotlin class MyApp { lateinit var user: User fun setup() { // Ici, user peut être initialisé ou non if (someCondition) { user = User("Alice") } } fun printUser() { // Je veux vérifier si user est initialisé pour éviter l'erreur println(user.name) // Si non initialisé — une exception sera levée } } ``` J'ai essayé d'écrire `if (user != null)`, mais le compilateur se plaint qu'on ne peut pas vérifier les variables `lateinit` de cette façon. Dans la doc