English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este artículo, aprenderá sobre la conversión de tipos. Cómo utilizar ejemplos para convertir una variable de un tipo a otro.
En Kotlin, un valor numérico de un tipo no se convierte automáticamente a otro tipo, incluso si el tipo es mayor. Esto difiere de la forma en que Java maneja las conversiones de números. Por ejemplo:
En Java,
int number1 = 55; long number2 = number1; // Código válido
Aquí, el número de tipo int1Su valor se convertirá automáticamente a tipo long y se asignará a la variable number2.
En Kotlin,
val número1: Int = 55 val número2: Long = number1 // Error: tipo incompatibles.
A pesar deLongEl tamaño es mayor que Int, pero Kotlin no convierte automáticamente Int a Long.
Por el contrario, debe usar explícitamente toLong() (para convertir a tipo Long). Kotlin hace esto para asegurar la seguridad de tipos y evitar sorpresas.
val número1: Int = 55 val número2: Long = number1.toLong()
A continuación, se muestra una lista de funciones utilizadas en Kotlin para la conversión de tipos:
toByte() - Analizar una cadena de caracteres en un número de bytes con signo y devolver el resultado.
toShort() - Convertir un valor Int a Short.
toInt() - Analizar una cadena de caracteres en un número Int y devolver el resultado.
toLong() - Analizar una cadena de caracteres en un número Long y devolver el resultado.
toFloat() - Analizar una cadena de caracteres en un número Float y devolver el resultado.
toDouble() - Analizar una cadena de caracteres en un número Double y devolver el resultado.
toChar() - Convertir un valor Int a Char.
Tenga en cuenta que no hay conversión para el tipo Boolean.
Las funciones mencionadas anteriormente se pueden usar en ambas direcciones (conversión de tipo de mayor a menor y conversión de tipo de menor a mayor).
Sin embargo, la conversión de un tipo más grande a un tipo más pequeño puede truncar el valor. Por ejemplo:
fun main(args : Array<String>) { val número1: Int = 545344 val número2: Byte = número1.toByte() println("número1 =1") println("número2 =2") }
Al ejecutar el programa, la salida será:
número1 = 545344 número2 = 64