В этой статье вы узнаете о преобразовании типов; как преобразовать переменную одного типа в другой на примере.
В Kotlin числовое значение одного типа не преобразуется автоматически в другой тип, даже если другой тип больше. Это отличается от того, как Java обрабатывает числовые преобразования. Например;
В Java
int number1 = 55; длинное число2 = число1; // Действительный код
Здесь значение number1
типа int
автоматически преобразуется в тип long
и присваивается переменной number2.
В Котлине,
val number1: Int = 55 val number2: Long = number1 // Ошибка: несоответствие типа.
Хотя размер Long больше Int
, Kotlin не преобразует автоматически Int в Long.
Вместо этого вам нужно toLong()
явно использовать (для преобразования в тип Long). Kotlin делает это для обеспечения безопасности типов, чтобы избежать сюрпризов.
val number1: Int = 55 val number2: Long = number1.toLong ()
Вот список функций Kotlin, используемых для преобразования типов:
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
Обратите внимание, что для Boolean
типов нет преобразования .
Преобразование от большего к меньшему типу
Упомянутые выше функции могут использоваться в обоих направлениях (преобразование из большего шрифта в меньший и преобразование из меньшего в больший).
Однако преобразование из большего в меньший тип может привести к усечению значения. Например,
fun main(args : Array) ( val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") )
Когда вы запустите программу, вывод будет:
число1 = 545344 число2 = 64
Также ознакомьтесь со статьями о преобразовании типов:
- Преобразование String в Int и Int в String
- Преобразование Long в Int и Int в Long
- Double в Int и Int в двойное преобразование
- Конверсия из длинных в двойные и из двойных в длинные
- Char в Int и Int в Char
- Преобразование строки в длинные и преобразования в строку
- Строка в массив и преобразование массива в строку
- Преобразование строки в логическое значение и преобразование логического значения в строку
- Строка в байт и преобразование байта в строку
- Преобразование Int в байт и преобразование байта в Int