Conversão de tipo Kotlin

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 number1tipo inté automaticamente convertido em tipo longe 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 Booleantipos.

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

Artigos interessantes...