In questo articolo imparerai la conversione del tipo; come convertire una variabile di un tipo in un altro con l'aiuto di esempio.
In Kotlin, un valore numerico di un tipo non viene convertito automaticamente in un altro tipo anche quando l'altro tipo è più grande. Questo è diverso da come Java gestisce le conversioni numeriche. Per esempio;
In Java,
int numero1 = 55; numero lungo2 = numero1; // Codice valido
Qui, il valore di number1
tipo int
viene automaticamente convertito in tipo long
e assegnato alla variabile numero2.
A Kotlin,
val number1: Int = 55 val number2: Long = number1 // Errore: tipo non corrispondente.
Sebbene la dimensione di Long sia maggiore di Int
, Kotlin non converte automaticamente Int in Long.
Invece, devi usare toLong()
esplicitamente (per convertire in tipo Long). Kotlin lo fa per sicurezza dei tipi per evitare sorprese.
val number1: Int = 55 val number2: Long = number1.toLong ()
Ecco un elenco di funzioni in Kotlin utilizzate per la conversione del tipo:
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
Nota, non c'è conversione per i Boolean
tipi.
Conversione da tipo più grande a tipo più piccolo
Le funzioni sopra menzionate possono essere utilizzate in entrambe le direzioni (conversione da caratteri più grandi a caratteri più piccoli e conversione da caratteri più piccoli in caratteri più grandi).
Tuttavia, la conversione da un tipo più grande a uno più piccolo potrebbe troncare il valore. Per esempio,
fun main(args : Array) ( val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") )
Quando esegui il programma, l'output sarà:
numero1 = 545344 numero2 = 64
Consulta anche questi articoli relativi alla conversione del tipo:
- Conversione da stringa a Int e conversione da Int a stringa
- Conversione da Long a Int e da Int a Long
- Double to Int e Int to Double Conversion
- Conversione da lungo a doppio e da doppio a lungo
- Da Char a Int e da Int a Char
- Conversione da stringa a lunga e da lunga a stringa
- Conversione da stringa a matrice e da matrice a stringa
- Conversione da stringa a booleana e da booleano a stringa
- Conversione da stringa a byte e da byte a stringa
- Conversione da Int a Byte e Byte a Int