English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Artikel werden Sie lernen, wie man Typumwandlungen durchführt. Wie man Variablen eines Typs in einen anderen Typ umwandelt, indem man Beispiele verwendet.
In Kotlin wird der Wert eines Typs nicht automatisch in einen anderen Typ umgewandelt, selbst wenn dieser größer ist. Dies ist anders als die Art und Weise, wie Java mit numerischen Umwandlungen umgeht. Zum Beispiel:
In Java,
int number1 = 55; long number2 = number1; // Gültiger Code
Hierbei handelt es sich um eine Variable number vom Typ int1Wert wird automatisch in den Typ long umgewandelt und zugewiesen an die Variable number2.
In Kotlin,
val number1: Int = 55 val number2: Long = number1 // Fehler: Typmismatch.
ObwohlLonghat eine Größe, die größer als Int ist, aber Kotlin wandelt Int nicht automatisch in Long um.
Ganz anders müssen Sie ausdrücklich toLong() verwenden, um in den Typ Long umzuwandeln. Dies tut Kotlin, um Typsicherheit zu gewährleisten und unerwartete Ergebnisse zu vermeiden.
val number1: Int = 55 val number2: Long = number1.toLong()
Hier ist eine Liste von Funktionen in Kotlin zur Typumwandlung:
toByte() - Den String in eine signierte Byte-Zahl umwandeln und das Ergebnis zurückgeben.
toShort() - Werte von Int in Short umwandeln.
toInt() - Den String in eine Int-Zahl umwandeln und das Ergebnis zurückgeben.
toLong() - Den String in eine Long-Zahl umwandeln und das Ergebnis zurückgeben.
toFloat() - Den String in eine Float-Zahl umwandeln und das Ergebnis zurückgeben.
toDouble() - Den String in eine Double-Zahl umwandeln und das Ergebnis zurückgeben.
toChar() - Werte von Int in Char umwandeln.
Hinweis: Es gibt keine Umwandlung für den Boolean-Typ.
Die genannten Funktionen können in beide Richtungen verwendet werden (Umwandlung von größeren Typen in kleinere Typen sowie von kleineren Typen in größere Typen).
Die Umwandlung von größeren Typen in kleinere Typen kann jedoch den Wert beschneiden. Zum Beispiel:
fun main(args : Array<String>) { val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 =1") println("number2 =2") }
Wenn Sie dieses Programm ausführen, wird die Ausgabe wie folgt sein:
number1 = 545344 number2 = 64