I denne artikkelen vil du lære om typekonvertering; hvordan konvertere en variabel av en type til en annen ved hjelp av eksemplet.
I Kotlin blir en numerisk verdi av en type ikke automatisk konvertert til en annen type selv når den andre typen er større. Dette er forskjellig fra hvordan Java håndterer numeriske konverteringer. For eksempel;
I Java,
int nummer1 = 55; langt tall2 = tall1; // Gyldig kode
Her blir verdien av number1
typen int
automatisk konvertert til typen long
og tildelt variabel nummer2.
I Kotlin,
val number1: Int = 55 val number2: Long = number1 // Feil: type mismatch.
Selv om størrelsen på Long er større enn Int
, konverterer Kotlin ikke automatisk Int til Long.
I stedet må du bruke toLong()
eksplisitt (for å konvertere til type Long). Kotlin gjør det for typesikkerhet for å unngå overraskelser.
val number1: Int = 55 val number2: Long = number1.toLong ()
Her er en liste over funksjoner i Kotlin som brukes til typekonvertering:
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
Merk, det er ingen konvertering for Boolean
typer.
Konvertering fra større til mindre type
Funksjonene nevnt ovenfor kan brukes i begge retninger (konvertering fra større til mindre type og konvertering fra mindre til større type).
Imidlertid kan konvertering fra større til mindre type avkutte verdien. For eksempel,
fun main(args : Array) ( val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") )
Når du kjører programmet, vil utdataene være:
nummer1 = 545344 nummer2 = 64
Sjekk også ut disse artiklene relatert til typekonvertering:
- String to Int og Int to String Conversion
- Lang til Int og Int til Lang konvertering
- Dobbelt til Int, og Int til Dobbeltkonvertering
- Lang til dobbel og dobbel til lang konvertering
- Char til Int, og Int to Char
- Streng til lang og lang til strengkonvertering
- String to Array, og Array to String Conversion
- Streng til boolsk og boolsk konvertering
- Streng til byte, og byte til strengkonvertering
- Int to Byte, og Byte to Int Conversion