В тази статия ще научите за преобразуването на типове; как да конвертирате променлива от един тип в друг с помощта на пример.
В Kotlin числовата стойност на един тип не се преобразува автоматично в друг тип, дори когато другият тип е по-голям. Това е различно от начина, по който Java обработва цифрови преобразувания. Например;
В Java
int номер1 = 55; дълго число2 = число1; // Валиден код
Тук стойността на number1
type 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