Kotlin-Typkonvertierung

Inhaltsverzeichnis

In diesem Artikel erfahren Sie mehr über die Typkonvertierung. wie man eine Variable eines Typs anhand eines Beispiels in einen anderen konvertiert.

In Kotlin wird ein numerischer Wert eines Typs nicht automatisch in einen anderen Typ konvertiert, selbst wenn der andere Typ größer ist. Dies unterscheidet sich davon, wie Java mit numerischen Konvertierungen umgeht. Beispielsweise;

In Java

int number1 = 55; lange Nummer2 = Nummer1; // Gültiger Code

Hier wird der Wert des number1Typs intautomatisch in den Typ konvertiert longund der Variablen Nummer2 zugewiesen.

In Kotlin,

 Wert Nummer1: Int = 55 Wert Nummer2: Lang = Nummer1 // Fehler: Typ stimmt nicht überein.

Obwohl Long größer als ist Int, konvertiert Kotlin Int nicht automatisch in Long.

Stattdessen müssen Sie toLong()explizit verwenden (um in den Typ Long zu konvertieren). Kotlin tut dies aus Gründen der Typensicherheit, um Überraschungen zu vermeiden.

 val number1: Int = 55 val number2: Long = number1.toLong ()

Hier ist eine Liste der Funktionen in Kotlin, die für die Typkonvertierung verwendet werden:

  • toByte()
  • toShort()
  • toInt()
  • toLong()
  • toFloat()
  • toDouble()
  • toChar()

Beachten Sie, dass für BooleanTypen keine Konvertierung erfolgt .

Umstellung von größerem auf kleineren Typ

Die oben genannten Funktionen können in beide Richtungen verwendet werden (Umwandlung von größerem zu kleinerem Typ und Umwandlung von kleinerem zu größerem Typ).

Bei der Konvertierung von einem größeren in einen kleineren Typ kann der Wert jedoch abgeschnitten werden. Beispielsweise,

 fun main(args : Array) ( val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Nummer1 = 545344 Nummer2 = 64 

Lesen Sie auch die folgenden Artikel zur Typkonvertierung:

  • String to Int und Int to String Conversion
  • Long to Int und Int to Long Conversion
  • Double to Int und Int to Double Conversion
  • Long to Double und Double to Long Conversion
  • Char zu Int und Int zu Char
  • String to Long und Long to String Conversion
  • Umwandlung von String in Array und Konvertierung von Array in String
  • Umwandlung von String in Boolean und Konvertierung von Boolean in String
  • Umwandlung von String in Byte und Konvertierung von Byte in String
  • Int zu Byte und Byte zu Int-Konvertierung

Interessante Beiträge...