Neste artigo, você aprenderá sobre a conversão de tipo; como converter uma variável de um tipo em outro com a ajuda do exemplo.
No Kotlin, um valor numérico de um tipo não é convertido automaticamente em outro tipo, mesmo quando o outro tipo é maior. Isso é diferente de como o Java trata as conversões numéricas. Por exemplo;
Em Java,
número int1 = 55; número2 longo = número1; // Código válido
Aqui, o valor de number1
tipo int
é automaticamente convertido em tipo long
e atribuído à variável número2.
Em Kotlin,
val number1: Int = 55 val number2: Long = number1 // Erro: incompatibilidade de tipo.
Embora o tamanho de Long seja maior do que Int
, Kotlin não converte automaticamente Int em Long.
Em vez disso, você precisa usar toLong()
explicitamente (para converter para o tipo Long). Kotlin faz isso por segurança de tipo para evitar surpresas.
val number1: Int = 55 val number2: Long = number1.toLong ()
Aqui está uma lista de funções em Kotlin usadas para conversão de tipo:
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
Observe que não há conversão para Boolean
tipos.
Conversão do tipo maior para o menor
As funções mencionadas acima podem ser usadas em ambas as direções (conversão do tipo maior para o menor e conversão do tipo menor para o maior).
No entanto, a conversão do tipo maior para o menor pode truncar o valor. Por exemplo,
fun main(args : Array) ( val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") )
Quando você executa o programa, a saída será:
numero1 = 545344 numero2 = 64
Verifique também estes artigos relacionados à conversão de tipo:
- String para Int e Conversão de Int para String
- Conversão de longo para int e de int para longo
- Conversão Duplo para Int e Int para Dupla
- Conversão longa para dobrar e dobrar para longa
- Char para Int e Int para Char
- Conversão de string para longa e longa para string
- String para Array, e Array para Conversão de String
- Conversão de string para booleano e de booleano para string
- String para Byte e Conversão de Byte para String
- Int para Byte e Conversão de Byte para Int