Kotlin típusátalakítás

Ebben a cikkben megismerheti a típusátalakítást; hogyan lehet egy típusú változót egy másikra konvertálni a példa segítségével.

Kotlinban az egyik típus numerikus értéke akkor sem konvertálódik automatikusan másik típusra, ha a másik nagyobb. Ez különbözik attól, ahogy a Java kezeli a numerikus konverziókat. Például;

Java-ban

int szám1 = 55; hosszú szám2 = szám1; // Érvényes kód

Itt number1a type intértéke automatikusan konvertálódik longtípusgá, és a number2 változóhoz van rendelve.

Kotlinban,

 val number1: Int = 55 val number2: Long = number1 // Hiba: type mismatch.

Bár a Long mérete nagyobb, mint Int, Kotlin nem konvertálja automatikusan az Int hosszúra.

Ehelyett toLong()kifejezetten használnia kell (a Long típusra való átalakításhoz). Kotlin a típusbiztonság érdekében teszi a meglepetések elkerülése érdekében.

 val number1: Int = 55 val number2: Long = szám1.toLong ()

Az alábbiakban felsoroljuk a Kotlinban a típusátalakításhoz használt funkciókat:

  • toByte()
  • toShort()
  • toInt()
  • toLong()
  • toFloat()
  • toDouble()
  • toChar()

Megjegyzés: Booleantípusokra nincs konverzió .

Átalakítás nagyobbról kisebbre

A fent említett funkciók mindkét irányban használhatók (átalakítás nagyobbról kisebbre és átalakítás kisebbről nagyobbra).

A nagyobbról kisebbre való átalakítás azonban megcsonkíthatja az értéket. Például,

 fun main(args : Array) ( val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") )

A program futtatásakor a kimenet a következő lesz:

 szám1 = 545344 szám2 = 64 

Nézze meg ezeket a típusátalakítással kapcsolatos cikkeket is:

  • Karaktersorozat Int és String konvertálás
  • Hosszú-int és hosszú-hosszú konverzió
  • Double to Int, és Int to Double Conversion
  • Hosszú-kettős, és dupla-hosszú konverzió
  • Char-tól Int-ig és Int-től Char-ig
  • Húr hosszú és hosszú átváltása
  • Karakterlánc tömbre és tömb karakterlánc-konvertálásra
  • Karakterlánc logikai és Boolean-karakterlánc konvertálás
  • Karakterlánc bájtra és bájtból karakterlánc konvertálásra
  • Int byte és Byte to Con Conversion

érdekes cikkek...