Kotlin 類型轉(zhuǎn)換

在本文中,您將學(xué)習(xí)類型轉(zhuǎn)換。如何借助示例將一種類型的變量轉(zhuǎn)換為另一種類型。

在Kotlin中,一種類型的數(shù)值不會自動轉(zhuǎn)換為另一種類型,即使另一種類型更大。這與Java處理數(shù)字轉(zhuǎn)換的方式不同。例如:

在Java中,

int number1 = 55;
long number2 = number1;    // 有效代碼

在這里,int類型的number1的值會自動轉(zhuǎn)換為long類型,并分配給變量number2。

在kotlin,

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

盡管Long的大小大于Int,但Kotlin不會自動將 Int 轉(zhuǎn)換為 Long 。 

相反,您需要顯式使用 toLong() (以轉(zhuǎn)換為Long類型)。Kotlin這樣做是為了確保類型安全以避免意外。

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

以下是Kotlin中用于類型轉(zhuǎn)換的函數(shù)列表:

  • toByte() - 將字符串解析為帶符號的字節(jié)數(shù),然后返回結(jié)果。

  • toShort() - 將 Int 值轉(zhuǎn)換為Short。

  • toInt() - 將字符串解析為Int數(shù)字并返回結(jié)果。

  • toLong() - 將字符串解析為Long數(shù)字并返回結(jié)果。

  • toFloat() - 將字符串解析為Float數(shù)字并返回結(jié)果。

  • toDouble() - 將字符串解析為Double數(shù)字并返回結(jié)果。

  • toChar() - 將Int值轉(zhuǎn)換為Char。

注意,沒有 Boolean 類型的轉(zhuǎn)換。

從較大的類型 轉(zhuǎn)換為 較小的類型

上面提到的函數(shù)可以在兩個方向上使用(從較大類型到較小類型的轉(zhuǎn)換 以及從較小類型到較大類型的轉(zhuǎn)換)。

但是,從較大的類型到較小的類型的轉(zhuǎn)換可能會截斷該值。例如,

fun main(args : Array<String>) {
    val number1: Int = 545344
    val number2: Byte = number1.toByte()
    println("number1 = $number1")
    println("number2 = $number2")
}

運行該程序時,輸出為:

number1 = 545344
number2 = 64
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清