Ebben a cikkben megismerheti a típusátalakítást; hogyan lehet egy típusú változót egy másikra konvertálni a példa segítségével.
Kotlinban az egyik típus numerikus értéke akkor sem konvertálódik automatikusan másik típusra, ha a másik nagyobb. Ez különbözik attól, ahogy a Java kezeli a numerikus konverziókat. Például;
Java-ban
int szám1 = 55; hosszú szám2 = szám1; // Érvényes kód
Itt number1
a type int
értéke automatikusan konvertálódik long
típusgá, és a number2 változóhoz van rendelve.
Kotlinban,
val number1: Int = 55 val number2: Long = number1 // Hiba: type mismatch.
Bár a Long mérete nagyobb, mint Int
, Kotlin nem konvertálja automatikusan az Int hosszúra.
Ehelyett toLong()
kifejezetten használnia kell (a Long típusra való átalakításhoz). Kotlin a típusbiztonság érdekében teszi a meglepetések elkerülése érdekében.
val number1: Int = 55 val number2: Long = szám1.toLong ()
Az alábbiakban felsoroljuk a Kotlinban a típusátalakításhoz használt funkciókat:
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
Megjegyzés: Boolean
típusokra nincs konverzió .
Átalakítás nagyobbról kisebbre
A fent említett funkciók mindkét irányban használhatók (átalakítás nagyobbról kisebbre és átalakítás kisebbről nagyobbra).
A nagyobbról kisebbre való átalakítás azonban megcsonkíthatja az értéket. Például,
fun main(args : Array) ( val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") )
A program futtatásakor a kimenet a következő lesz:
szám1 = 545344 szám2 = 64
Nézze meg ezeket a típusátalakítással kapcsolatos cikkeket is:
- Karaktersorozat Int és String konvertálás
- Hosszú-int és hosszú-hosszú konverzió
- Double to Int, és Int to Double Conversion
- Hosszú-kettős, és dupla-hosszú konverzió
- Char-tól Int-ig és Int-től Char-ig
- Húr hosszú és hosszú átváltása
- Karakterlánc tömbre és tömb karakterlánc-konvertálásra
- Karakterlánc logikai és Boolean-karakterlánc konvertálás
- Karakterlánc bájtra és bájtból karakterlánc konvertálásra
- Int byte és Byte to Con Conversion