Dans cet article, vous découvrirez la conversion de type; comment convertir une variable d'un type en un autre à l'aide de l'exemple.
Dans Kotlin, une valeur numérique d'un type n'est pas automatiquement convertie en un autre type, même lorsque l'autre type est plus grand. Ceci est différent de la façon dont Java gère les conversions numériques. Par exemple;
En Java,
int nombre1 = 55; nombre long2 = nombre1; // Code valide
Ici, la valeur de number1
type int
est automatiquement convertie en type long
et affectée à la variable numéro2.
À Kotlin,
val number1: Int = 55 val number2: Long = number1 // Erreur: incompatibilité de type.
Bien que la taille de Long soit plus grande que Int
, Kotlin ne convertit pas automatiquement Int en Long.
Au lieu de cela, vous devez utiliser toLong()
explicitement (pour convertir en type Long). Kotlin le fait pour la sécurité du type afin d'éviter les surprises.
valeur nombre1: Int = 55 valeur nombre2: Long = nombre1.toLong ()
Voici une liste des fonctions de Kotlin utilisées pour la conversion de type:
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
Notez qu'il n'y a pas de conversion pour les Boolean
types.
Conversion d'un type plus grand à un type plus petit
Les fonctions mentionnées ci-dessus peuvent être utilisées dans les deux sens (conversion d'un type plus grand vers un type plus petit et conversion d'un type plus petit vers un type plus grand).
Cependant, la conversion d'un type plus grand vers un type plus petit peut tronquer la valeur. Par exemple,
fun main(args : Array) ( val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") )
Lorsque vous exécutez le programme, la sortie sera:
nombre1 = 545344 nombre2 = 64
Consultez également ces articles relatifs à la conversion de type:
- Conversion de chaîne en Int et Int en chaîne
- Conversion longue en Int et Int en longue
- Double en Int et Int en Double Conversion
- Conversion longue en double et double en longue
- Char à Int et Int à Char
- Conversion de chaîne en longue et de longue en chaîne
- Conversion de chaîne en tableau et de tableau en chaîne
- Conversion de chaîne en booléen et de booléen en chaîne
- Conversion de chaîne en octet et d'octet en chaîne
- Int en octet et conversion d'octet en int