Tässä artikkelissa opit tyypin muuntamisesta; kuinka muuntaa yhden tyyppinen muuttuja toiseen esimerkin avulla.
Kotlinissa yhden tyypin numeerista arvoa ei muunneta automaattisesti toiseksi, vaikka toinen tyyppi on suurempi. Tämä eroaa siitä, miten Java käsittelee numeerisia muunnoksia. Esimerkiksi;
Java-kielellä
int-luku 1 = 55; pitkä luku2 = luku1; // Voimassa oleva koodi
Tässä number1
tyypin arvo int
muunnetaan automaattisesti tyypiksi long
ja osoitetaan muuttujalle numero2.
Kotlinissa
val number1: Int = 55 val number2: Long = numero1 // Virhe: type mismatch.
Vaikka Longin koko on suurempi kuin Int
, Kotlin ei muunna Int-arvoa automaattisesti Longiksi.
Sen sijaan sinun on käytettävä toLong()
nimenomaisesti (muuntaa tyypiksi Long). Kotlin tekee sen tyyppiturvallisuuden vuoksi yllätysten välttämiseksi.
val number1: Int = 55 val number2: Long = numero1.toLong ()
Tässä on luettelo Kotlinin toiminnoista, joita käytetään tyypin muuntamiseen:
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
Huomaa, että Boolean
tyyppiä ei ole muunnettu .
Muunnos suuremmasta pienempään
Edellä mainittuja toimintoja voidaan käyttää molempiin suuntiin (muuntaminen suuremmasta pienempään ja muuntaminen pienemmästä suurempaan).
Muuntaminen suuremmasta pienempään voi kuitenkin katkaista arvon. Esimerkiksi,
fun main(args : Array) ( val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") )
Kun suoritat ohjelmaa, tulos on:
numero1 = 545344 luku2 = 64
Katso myös nämä tyypin muuntamiseen liittyvät artikkelit:
- String to Int ja Int to String muunnos
- Pitkästä keskiarvoon ja Int - pitkä muunnos
- Tuplasta keskiarvoon ja Int kaksinkertaiseksi muunnokseksi
- Pitkä - kaksinkertainen ja kaksinkertainen - pitkä muunnos
- Char - Int ja Int - Char
- Merkkijono muunnokseen
- Merkkijono taulukkoon ja taulukosta merkkijonoksi muunnos
- Merkkijonosta loogiseksi ja loogisesta muunnokseksi
- Merkkijono tavuksi ja tavu merkkijonoksi -muunnos
- Int-tavu ja tavu-int-muunnos