Šajā rakstā jūs uzzināsiet par veida pārveidošanu; kā ar piemēra palīdzību pārveidot viena veida mainīgo citā.
Kotlīnā viena veida skaitliskā vērtība netiek automātiski pārveidota par citu tipu, pat ja otrs tips ir lielāks. Tas atšķiras no tā, kā Java apstrādā skaitliskās konvertēšanas. Piemēram;
Java valodā
int skaitlis1 = 55; garš skaitlis2 = skaitlis1; // Derīgs kods
Šeit number1
tipa vērtība int
tiek automātiski pārveidota par tipu long
un piešķirma mainīgajam skaitlim2.
Kotlīnā,
val number1: Int = 55 val number2: Long = number1 // Kļūda: neatbilstība.
Lai gan Long lielums ir lielāks nekā Int
, Kotlins automātiski nepārvērš Int uz Long.
Tā vietā jums ir toLong()
skaidri jāizmanto (lai pārvērstu par Long garu). Kotlins to dara tipa drošības labad, lai izvairītos no pārsteigumiem.
val number1: Int = 55 val number2: Long = skaitlis1.toLong ()
Šeit ir saraksts ar funkcijām Kotlinā, kuras tiek izmantotas tipa pārveidošanai:
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
Ņemiet vērā, ka Boolean
tipiem nav jāveic konvertēšana .
Pārveidošana no lielāka uz mazāku veidu
Iepriekš minētās funkcijas var izmantot abos virzienos (pārveidošana no lielāka tipa uz mazāku un pārveidošana no mazāka uz lielāku veidu).
Tomēr, pārveidojot no lielāka veida uz mazāku, vērtība var tikt saīsināta. Piemēram,
fun main(args : Array) ( val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") )
Palaidot programmu, izeja būs:
skaitlis1 = 545344 skaitlis2 = 64
Apskatiet arī šos rakstus, kas saistīti ar tipa pārveidošanu:
- String to Int un Int-String Conversion
- Garš līdz vidējais un ilgs līdz ilgs pārrēķins
- Konversija no divkāršas līdz vidējai un no divkāršas līdz vidējai
- Garš līdz divkāršs un divkāršs līdz ilgs reklāmguvums
- Char līdz Int un Int līdz Char
- Stīgu pārvēršana garās un garās virknes pārveidošanā
- Stringi masīvam un Masīvi virknēm pārveidošana
- Virkne no Būla un Būla uz virknes pārveidošana
- Virkne līdz baits un baits uz virknes pārveidošana
- Int līdz baits un baits līdz vidējais reklāmguvums