In dit artikel leert u over typeconversie; hoe je een variabele van het ene type naar het andere converteert met behulp van een voorbeeld.
In Kotlin wordt een numerieke waarde van het ene type niet automatisch geconverteerd naar een ander type, zelfs niet als het andere type groter is. Dit is anders dan hoe Java numerieke conversies verwerkt. Bijvoorbeeld;
In Java,
int nummer1 = 55; lang nummer2 = nummer1; // Geldige code
Hier wordt de waarde van het number1
type int
automatisch geconverteerd naar het type long
en toegewezen aan variabele nummer2.
In Kotlin,
val number1: Int = 55 val number2: Long = number1 // Fout: type komt niet overeen.
Hoewel de grootte van Long groter is dan Int
, converteert Kotlin Int niet automatisch naar Long.
In plaats daarvan moet u toLong()
expliciet gebruiken (om te converteren naar het type Long). Kotlin doet het voor typeveiligheid om verrassingen te voorkomen.
val number1: Int = 55 val number2: Long = number1.toLong ()
Hier is een lijst met functies in Kotlin die worden gebruikt voor typeconversie:
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
Let op, er is geen conversie voor Boolean
typen.
Conversie van groter naar kleiner type
Bovenstaande functies kunnen in beide richtingen worden gebruikt (conversie van groter naar kleiner type en conversie van kleiner naar groter type).
De conversie van een groter naar een kleiner type kan de waarde echter afkappen. Bijvoorbeeld,
fun main(args : Array) ( val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") )
Wanneer u het programma uitvoert, is de uitvoer:
nummer1 = 545344 nummer2 = 64
Bekijk ook deze artikelen over typeconversie:
- String naar Int en Int naar String Conversion
- Long naar Int en Int naar Long Conversion
- Double to Int, en Int to Double Conversion
- Lange naar dubbele en dubbele naar lange conversie
- Char naar Int, en Int naar Char
- Omzetting van tekenreeks naar lang en van lang naar tekenreeks
- String to Array en Array to String Conversion
- String naar Boolean, en Boolean naar String Conversion
- String naar byte en byte naar stringconversie
- Int naar byte en byte naar int-conversie