Преобразуване на тип Kotlin

В тази статия ще научите за преобразуването на типове; как да конвертирате променлива от един тип в друг с помощта на пример.

В Kotlin числовата стойност на един тип не се преобразува автоматично в друг тип, дори когато другият тип е по-голям. Това е различно от начина, по който Java обработва цифрови преобразувания. Например;

В Java

int номер1 = 55; дълго число2 = число1; // Валиден код

Тук стойността на number1type intсе преобразува автоматично в type longи се присвоява на променлива number2.

В Котлин,

 val number1: Int = 55 val number2: Long = number1 // Грешка: несъответствие на типа.

Въпреки че размерът на Long е по-голям от Int, Kotlin не преобразува автоматично Int в Long.

Вместо това трябва да използвате toLong()изрично (за да конвертирате в тип Long). Kotlin го прави за безопасност на типа, за да избегне изненади.

 val номер1: Int = 55 val номер2: дълъг = номер1.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 to Int и Int to String Conversion
  • Long to Int и Int to Long Conversion
  • Double to Int и Int to Double Conversion
  • Long to Double и Double to Long Conversion
  • Char към Int и Int към Char
  • Преобразуване на низ в дълъг и дълъг в низ
  • String to Array и Array to String Conversion
  • String to Boolean и Boolean to String Conversion
  • String to Byte и Byte to String Conversion
  • Преобразуване от Int към Byte и Byte към Int

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