Conversión de tipo Kotlin

Tabla de contenido

En este artículo, aprenderá sobre la conversión de tipos; cómo convertir una variable de un tipo a otro con la ayuda del ejemplo.

En Kotlin, un valor numérico de un tipo no se convierte automáticamente en otro tipo incluso cuando el otro tipo es más grande. Esto es diferente de cómo Java maneja las conversiones numéricas. Por ejemplo;

En Java,

int número1 = 55; número largo2 = número1; // Codigo valido

Aquí, el valor de number1tipo intse convierte automáticamente en tipo longy se asigna a la variable número2.

En Kotlin,

 val number1: Int = 55 val number2: Long = number1 // Error: no coinciden los tipos.

Aunque el tamaño de Long es mayor que Int, Kotlin no convierte automáticamente Int a Long.

En su lugar, debe usar toLong()explícitamente (para convertir al tipo Long). Kotlin lo hace por seguridad de tipos para evitar sorpresas.

 val número1: Int = 55 val número2: Largo = número1.toLong ()

Aquí hay una lista de funciones en Kotlin utilizadas para la conversión de tipos:

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

Tenga en cuenta que no hay conversión de Booleantipos.

Conversión de tipo más grande a más pequeño

Las funciones mencionadas anteriormente se pueden utilizar en ambas direcciones (conversión de tipo más grande a más pequeño y conversión de tipo más pequeño a más grande).

Sin embargo, la conversión de un tipo más grande a uno más pequeño puede truncar el valor. Por ejemplo,

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

Cuando ejecute el programa, la salida será:

 número1 = 545344 número2 = 64 

Consulte también estos artículos relacionados con la conversión de tipos:

  • Conversión de cadena a int y de int a cadena
  • Conversión de largo a int y de int a largo
  • Conversión de doble a int y de int a doble
  • Conversión de largo a doble y doble a largo
  • Char a Int e Int a Char
  • Conversión de cadena a larga y larga a cadena
  • Conversión de cadena a matriz y de matriz a cadena
  • Conversión de cadena a booleana y de booleana a cadena
  • Conversión de cadena a byte y de byte a cadena
  • Conversión de Int a Byte y Byte a Int

Articulos interesantes...