Kotlinin tyypin muunnos

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ä number1tyypin arvo intmuunnetaan automaattisesti tyypiksi longja 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ä Booleantyyppiä 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

Mielenkiintoisia artikkeleita...