Avatar ·

Comment vérifier le type d'un objet (instanceof) en Kotlin ?

Bonjour à tous ! Je viens de commencer à apprendre Kotlin après Java et j'ai rencontré un problème. En Java, j'avais l'habitude d'utiliser l'opérateur `instanceof` pour vérifier le type d'un objet, par exemple : ```java if (obj instanceof String) { String str = (String) obj; System.out.println(str.length()); } ``` Mais en Kotlin, je ne trouve pas d'équivalent. J'ai essayé d'écrire quelque chose comme `obj instanceof String`, mais le compilateur génère une erreur. Je sais qu'en Kotlin il y a le mot-clé `is`, mais je ne suis pas sûr de comment l'utiliser correctement. De plus, en Java après la vérification avec `instanceof`, je devais explicitement caster le type, alors qu'en Kotlin, d'après ce que j'ai compris, cela se fait automatiquement ? Ou pas ? Veuillez me dire comment vérifier correctement le type d'un objet en Kotlin et le caster de manière sécurisée vers le type souhaité ? Je m'intéresse non seulement à la syntaxe de base, mais aussi aux meilleures pratiques. Par exemple, que faire si je dois vérifier le type dans une expression `when` ou lors du travail avec des collections ? Merci d'avance pour votre aide ! Exemple de mon code qui ne fonctionne pas :