原文: https://www.programiz.com/kotlin-programming/type-conversion
在本文中,您将学习类型转换。 如何借助示例将一种类型的变量转换为另一种类型。
在 Kotlin 中,即使另一种类型的数值较大,也不会自动将其转换为另一种类型。 这与 Java 处理数字转换的方式不同。 例如;
在 Java 中,
int number1 = 55;long number2 = number1; // Valid code
在这里,类型为int的number1的值会自动转换为类型long,并分配给变量number2。
在 Kotlin 中,
val number1: Int = 55val number2: Long = number1 // Error: type mismatch.
尽管Long的大小大于Int,但 Kotlin 不会自动将Int转换为Long。
相反,您需要明确使用toLong()(以转换为Long类型)。 Kotlin 这样做是为了确保类型安全以避免意外。
val number1: Int = 55val number2: Long = number1.toLong()
以下是 Kotlin 中用于类型转换的函数列表:
注意,Boolean类型没有转换。
从较大类型转换为较小类型
上面提到的函数可以在两个方向上使用(从较大类型到较小类型的转换以及从较小类型到较大类型的转换)。
但是,从较大的类型转换为较小的类型可能会截断该值。 例如,
fun main(args : Array<String>) {val number1: Int = 545344val number2: Byte = number1.toByte()println("number1 = $number1")println("number2 = $number2")}
运行该程序时,输出为:
number1 = 545344number2 = 64
还请查看这些与类型转换有关的文章:
- 字符串到整数,和整数到字符串的转换
- 长整数到整数,和整数到长整数的转换
- 双精度到整数,和整数到双精度的转换
- 整数到双精度,和双精度到整数的转换
- 字符到整数,和整数到字符的转换
- 字符串到长整数,和长整数到字符串的转换
- 字符串到数组,和数组到字符串的转换
- 字符串到布尔,和布尔到字符串的转换
- 字符串到字节,和字节到字符串的转换
- 整数到字节,和字节到整数的转换
