Šiame straipsnyje sužinosite apie tipo keitimą; kaip paversti pavyzdžiu vieno tipo kintamąjį į kitą.
Kotline vieno tipo skaitinė vertė nėra automatiškai paverčiama kitu tipu, net jei kitas tipas yra didesnis. Tai skiriasi nuo to, kaip „Java“ tvarko skaitines konversijas. Pavyzdžiui;
„Java“ kalboje
int skaičius1 = 55; ilgas skaičius2 = skaičius1; // galiojantis kodas
Čia number1
tipo int
vertė automatiškai konvertuojama į tipą long
ir priskiriama kintamajam numeriui2.
Kotline,
val number1: Int = 55 val number2: Long = number1 // Klaida: tipo neatitikimas.
Nors „Long“ dydis yra didesnis nei Int
, „Kotlin“ automatiškai nekonvertuoja „Int“ į „Long“.
Vietoj to, turite naudoti toLong()
aiškiai (norėdami konvertuoti į „Long“ tipą). „Kotlin“ tai daro dėl tipo saugumo, kad išvengtų staigmenų.
val number1: Int = 55 val number2: Long = skaičius1.toLong ()
Čia pateikiamas Kotlino funkcijų, naudojamų tipų keitimui, sąrašas:
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
Atminkite, kad Boolean
tipai nėra konvertuojami .
Konversija iš didesnio į mažesnio tipo
Aukščiau paminėtos funkcijos gali būti naudojamos abiem kryptimis (konversija iš didesnio į mažesnį tipą ir konversija iš mažesnio į didesnį tipą).
Tačiau konvertuojant iš didesnio į mažesnį tipą, vertė gali būti sutrumpinta. Pavyzdžiui,
fun main(args : Array) ( val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") )
Kai paleisite programą, išvestis bus:
skaičius1 = 545344 skaičius2 = 64
Taip pat peržiūrėkite šiuos straipsnius, susijusius su tipo keitimu:
- „String to Int“ ir „Int to String Conversion“
- „Long to Int“ ir „Int to Long“ konversija
- Dviguba iki vidutinio ir dviguba konversija
- Nuo ilgo iki dvigubo ir nuo dvigubo iki ilgo konversijos
- Char - Int ir Int - Char
- Stygos į ilgą ir iš ilgų į stygas
- Stygos masyvui ir masyvas eilutėms konvertuoti
- Stygos į loginę ir loginę iš eilutės konversiją
- Stygos į baitą ir iš baitų į eilutes konvertuojamos
- „Int to Byte“ ir „Byte to Int Conversion“