Преобразование типа Котлин

Содержание

В этой статье вы узнаете о преобразовании типов; как преобразовать переменную одного типа в другой на примере.

В 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

Интересные статьи...