Konwersja typu Kotlin

W tym artykule dowiesz się o konwersji typów; jak przekonwertować zmienną jednego typu na inny na przykładzie.

W Kotlinie wartość liczbowa jednego typu nie jest automatycznie konwertowana na inny typ, nawet jeśli drugi typ jest większy. Różni się to od tego, jak Java obsługuje konwersje numeryczne. Na przykład;

W Javie

int liczba1 = 55; długa liczba2 = liczba1; // Prawidłowy kod

Tutaj wartość number1typu intjest automatycznie konwertowana na typ longi przypisywana do zmiennej numer2.

W Kotlinie

 wart numer1: Int = 55 wart numer2: Long = liczba1 // Błąd: niezgodność typu.

Chociaż rozmiar Long jest większy niż Int, Kotlin nie konwertuje automatycznie Int na Long.

Zamiast tego musisz użyć toLong()jawnie (aby przekonwertować na typ Long). Kotlin robi to ze względu na bezpieczeństwo typów, aby uniknąć niespodzianek.

 wart numer1: Int = 55 wart numer2: Long = liczba1.toLong ()

Oto lista funkcji w Kotlin używanych do konwersji typów:

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

Uwaga, nie ma konwersji dla Booleantypów.

Konwersja z większego na mniejszy typ

Powyższe funkcje mogą być używane w obu kierunkach (konwersja z większego typu na mniejszy i konwersja z mniejszego na większy).

Jednak konwersja z większego na mniejszy typ może spowodować obcięcie wartości. Na przykład,

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

Po uruchomieniu programu wynik będzie następujący:

 liczba1 = 545344 liczba2 = 64 

Zapoznaj się również z tymi artykułami dotyczącymi konwersji typów:

  • String to Int i Int to String Conversion
  • Konwersja z długiego na średni i z średniego na długi
  • Double do Int i Int do Double Conversion
  • Długie na podwójne i podwójne na długie konwersje
  • Char na Int i Int na Char
  • Konwersja ciągu na długi i długi na ciąg
  • String to Array i Array to String Conversion
  • Ciąg na Boolean i Boolean na konwersję ciągu
  • Ciąg na bajt i konwersja z bajtów na ciąg
  • Int to Byte i Byte to Int Conversion

Interesujące artykuły...