原文: 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 = 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()
以下是 Kotlin 中用于类型转换的函数列表:
注意,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
还请查看这些与类型转换有关的文章:
- 字符串到整数,和整数到字符串的转换
- 长整数到整数,和整数到长整数的转换
- 双精度到整数,和整数到双精度的转换
- 整数到双精度,和双精度到整数的转换
- 字符到整数,和整数到字符的转换
- 字符串到长整数,和长整数到字符串的转换
- 字符串到数组,和数组到字符串的转换
- 字符串到布尔,和布尔到字符串的转换
- 字符串到字节,和字节到字符串的转换
- 整数到字节,和字节到整数的转换