Kotlin typkonvertering

I den här artikeln lär du dig om typkonvertering; hur man konverterar en variabel av en typ till en annan med hjälp av exempel.

I Kotlin omvandlas inte ett numeriskt värde av en typ automatiskt till en annan typ även om den andra typen är större. Detta skiljer sig från hur Java hanterar numeriska konverteringar. Till exempel;

I Java,

int nummer 1 = 55; långt nummer2 = nummer1; // Giltig kod

Här omvandlas typens number1typ intautomatiskt till typ longoch tilldelas variabel nummer2.

I Kotlin,

 val number1: Int = 55 val number2: Long = number1 // Error: type mismatch.

Även om storleken på Long är större än Intkonverterar Kotlin inte automatiskt Int till Long.

Istället måste du använda det toLong()uttryckligen (för att konvertera till typ Long). Kotlin gör det för typsäkerhet för att undvika överraskningar.

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

Här är en lista över funktioner i Kotlin som används för typkonvertering:

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

Obs! Det finns ingen konvertering för Booleantyper.

Konvertering från större till mindre typ

Funktionerna som nämns ovan kan användas i båda riktningarna (konvertering från större till mindre typ och konvertering från mindre till större typ).

Konvertering från större till mindre typ kan dock avkorta värdet. Till exempel,

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

När du kör programmet blir resultatet:

 nummer1 = 545344 nummer2 = 64 

Kolla även in dessa artiklar relaterade till typkonvertering:

  • String to Int och Int to String Conversion
  • Lång till int och int till lång konvertering
  • Dubbel till int och int till dubbel konvertering
  • Lång till dubbel och dubbel till lång konvertering
  • Char till Int och Int to Char
  • Sträng till lång och lång till strängkonvertering
  • String to Array och Array to String Conversion
  • String to Boolean och Boolean to String Conversion
  • String to Byte och Byte to String Conversion
  • Int to Byte och Byte to Int Conversion

Intressanta artiklar...