Перетворення типу Котліна

У цій статті ви дізнаєтесь про перетворення типів; як перетворити змінну одного типу в інший за допомогою прикладу.

У Kotlin числове значення одного типу не перетворюється автоматично на інший тип, навіть коли інший тип більше. Це відрізняється від того, як Java обробляє числові перетворення. Наприклад;

На Java

int число1 = 55; довге число2 = число1; // Дійсний код

Тут значення number1типу intавтоматично перетворюється на тип longі присвоюється змінній number2.

У Котліні,

 val number1: Int = 55 val number2: Long = number1 // Помилка: невідповідність типу.

Хоча розмір Long більше ніж Int, Котлін не перетворює Int автоматично в Long.

Натомість вам потрібно використовувати toLong()явно (для перетворення на тип Long). Котлін робить це для безпеки типу, щоб уникнути сюрпризів.

 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 

Також перегляньте ці статті, пов’язані з перетворенням типів:

  • Перетворення рядка в Int і Int в рядок
  • Довгий до внутрішнього та внутрішнього до довгого перетворення
  • Подвійне перетворення в Int і Int в подвійне перетворення
  • Довге до подвійного та подвійне до довгого перетворення
  • Char до Int і Int до Char
  • Перетворення рядка в довгий та довгий у рядок
  • Рядок до масиву та перетворення масиву до рядка
  • Рядок у булеву та перетворення булевої у рядок
  • Рядок у байт та перетворення байту в рядок
  • Перетворення Int в байт і перетворення байтів в Int

Цікаві статті...