在本文中,您将学习类型转换。如何借助示例将一种类型的变量转换为另一种类型。
在Kotlin中,一种类型的数值不会自动转换为另一种类型,即使另一种类型更大。这与Java处理数字转换的方式不同。例如:
在Java中,
int number1 = 55; long number2 = number1; // 有效代码
在这里,int类型的number1的值会自动转换为long类型,并分配给变量number2。
在kotlin,
val number1: Int = 55 val number2: Long = number1 // Error: type mismatch.
尽管Long的大小大于Int,但Kotlin不会自动将 Int 转换为 Long 。
相反,您需要显式使用 toLong() (以转换为Long类型)。Kotlin这样做是为了确保类型安全以避免意外。
val number1: Int = 55 val number2: Long = number1.toLong()
toByte() - 将字符串解析为带符号的字节数,然后返回结果。
toShort() - 将 Int 值转换为Short。
toInt() - 将字符串解析为Int数字并返回结果。
toLong() - 将字符串解析为Long数字并返回结果。
toFloat() - 将字符串解析为Float数字并返回结果。
toDouble() - 将字符串解析为Double数字并返回结果。
toChar() - 将Int值转换为Char。
注意,没有 Boolean 类型的转换。
上面提到的函数可以在两个方向上使用(从较大类型到较小类型的转换 以及从较小类型到较大类型的转换)。
但是,从较大的类型到较小的类型的转换可能会截断该值。例如,
fun main(args : Array<String>) { val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") }
运行该程序时,输出为:
number1 = 545344 number2 = 64