English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste artigo, você aprenderá sobre conversão de tipos. Como converter uma variável de um tipo para outro usando exemplos.
No Kotlin, um valor numérico de um tipo não é automaticamente convertido para outro tipo, mesmo que o outro tipo seja maior. Isso é diferente da maneira como o Java lida com conversões de números. Por exemplo:
No Java,
int number1 = 55; long number2 = number1; // Código válido
Aqui, o número do tipo int1Seu valor será automaticamente convertido para o tipo long e atribuído à variável number2.
No Kotlin,
val número1: Int = 55 val número2: Long = number1 // Erro: tipo incompatível.
EmboraLongO tamanho é maior que Int, mas o Kotlin não converte automaticamente Int para Long.
Por outro lado, você precisa usar explicitamente toLong() (para converter para o tipo Long). O Kotlin faz isso para garantir a segurança do tipo e evitar erros inesperados.
val número1: Int = 55 val número2: Long = number1.toLong()
A seguir, lista de funções usadas para conversão de tipos no Kotlin:
toByte() - Converta a stringa em um byte com sinal e retorne o resultado.
toShort() - Converta o valor Int para Short.
toInt() - Converta a stringa em um número Int e retorne o resultado.
toLong() - Converta a stringa em um número Long e retorne o resultado.
toFloat() - Converta a stringa em um número Float e retorne o resultado.
toDouble() - Converta a stringa em um número Double e retorne o resultado.
toChar() - Converta o valor Int para Char.
Atenção, não há conversão para o tipo Boolean.
As funções mencionadas acima podem ser usadas em duas direções (conversão de tipos de tipos maiores para menores e conversão de tipos de tipos menores para maiores).
Mas, a conversão de tipos de tipos maiores para tipos menores pode truncar o valor. Por exemplo:
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") }
Quando você executar o programa, a saída será:
número1 = 545344 número2 = 64