La conversion de type intelligente

Il est possible de faire des conversions de type sans utiliser les mots-clés as? et as. C’est ce qu’on appelle la conversion de type intelligente ou smart cast en anglais. smart cast

Pour ce faire, c’est extrêmement simple puisque l’essentiel du travail est réalisé par le langage Kotlin lui-même.

Il suffit de vérifier, à l’aide d’une condition, si la variable que l’on souhaite convertir est du type cible. Si c’est le cas, la condition sera vraie et l’on pourra, dans la portée de la condition, utiliser la variable comme une variable du type cible.

Pour rappel, on vérifie le type d’une variable à l’aide du mot-clé is.

Revenons à la fonction dont la signature indique un retour de type Any alors que, dans la pratique, celle-ci retourne une chaîne de caractères. Comme précédemment, on utilise la fonction toUpperCase sauf que cette fois il opère une conversion de type intelligente :

fun main() 
{ 
 val result = theFunction() 
 
 if(result is String) 
 { 
   println(result.toUpperCase()) 
 } 
} 
 
fun theFunction(): Any = 
   "Hello" 

Cette syntaxe est très pratique et c’est une garantie de sécurité : la conversion intelligente n’est faite que lorsque la condition est vraie et donc que la conversion est possible...

couv_RIKOT.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Mettre en place la conversion de type
Suivant
En résumé