V tomto článku se dozvíte o převodu typů; jak převést proměnnou jednoho typu na jiný pomocí příkladu.
V Kotlinu se numerická hodnota jednoho typu automaticky nepřevede na jiný typ, i když je druhý typ větší. To se liší od způsobu, jakým Java zpracovává číselné převody. Například;
V Javě
int číslo1 = 55; dlouhé číslo2 = číslo1; // Platný kód
Zde se hodnota number1
typu int
automaticky převede na typ long
a přiřadí se k proměnné number2.
V Kotlin,
val number1: Int = 55 val number2: Long = number1 // Chyba: neshoda typu.
Ačkoli je velikost Long větší než Int
, Kotlin automaticky nepřevede Int na Long.
Místo toho musíte použít toLong()
explicitně (k převodu na typ Long). Kotlin to dělá pro bezpečnost typu, aby se vyhnul překvapením.
val number1: Int = 55 val number2: Long = number1.toLong ()
Zde je seznam funkcí v Kotlin používaných pro převod typů:
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
U Boolean
typů neexistuje žádná konverze .
Převod z většího na menší typ
Výše uvedené funkce lze použít v obou směrech (převod z většího na menší typ a převod z menšího na větší typ).
Převod z většího na menší typ však může hodnotu zkrátit. Například,
fun main(args : Array) ( val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") )
Když spustíte program, výstup bude:
number1 = 545344 number2 = 64
Podívejte se také na tyto články týkající se převodu typů:
- String to Int a Int to String Conversion
- Long to Int a Int to Long Conversion
- Double to Int a Int to Double Conversion
- Dlouhá na dvojitou a dvojitou na dlouhou konverzi
- Char to Int a Int to Char
- Převod řetězce na dlouhý a dlouhý na řetězec
- String to Array a Array to String Conversion
- String to Boolean a Boolean to String Conversion
- String to Byte a Byte to String Conversion
- Int to Byte a Byte to Int Conversion