💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Kotlin 类型转换 > 原文: [https://www.programiz.com/kotlin-programming/type-conversion](https://www.programiz.com/kotlin-programming/type-conversion) #### 在本文中,您将学习类型转换。 如何借助示例将一种类型的变量转换为另一种类型。 在 Kotlin 中,即使另一种类型的数值较大,也不会自动将其转换为另一种类型。 这与 Java 处理数字转换的方式不同。 例如; 在 Java 中, ```kt int number1 = 55; long number2 = number1; // Valid code ``` 在这里,类型为`int`的`number1`的值会自动转换为类型`long`,并分配给变量`number2`。 在 Kotlin 中, ```kt val number1: Int = 55 val number2: Long = number1 // Error: type mismatch. ``` 尽管`Long`的大小大于`Int`,但 Kotlin 不会自动将`Int`转换为`Long`。 相反,您需要明确使用` toLong()`(以转换为`Long`类型)。 Kotlin 这样做是为了确保类型安全以避免意外。 ```kt val number1: Int = 55 val number2: Long = number1.toLong() ``` * * * 以下是 Kotlin 中用于类型转换的函数列表: * [`toByte()`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-byte.html) * [`toShort()`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/to-short.html) * [`toInt()`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-int.html) * [`toLong()`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-long.html) * [`toFloat()`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-float.html) * [`toDouble()`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-double.html) * [`toChar()`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/to-char.html) 注意,`Boolean`类型没有转换。 * * * ### 从较大类型转换为较小类型 上面提到的函数可以在两个方向上使用(从较大类型到较小类型的转换以及从较小类型到较大类型的转换)。 但是,从较大的类型转换为较小的类型可能会截断该值。 例如, ```kt fun main(args : Array<String>) { val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") } ``` 运行该程序时,输出为: ```kt number1 = 545344 number2 = 64 ``` * * * 还请查看这些与类型转换有关的文章: * *字符串到整数,和整数到字符串的转换* * *长整数到整数,和整数到长整数的转换* * *双精度到整数,和整数到双精度的转换* * *整数到双精度,和双精度到整数的转换* * *字符到整数,和整数到字符的转换* * *字符串到长整数,和长整数到字符串的转换* * *字符串到数组,和数组到字符串的转换* * *字符串到布尔,和布尔到字符串的转换* * *字符串到字节,和字节到字符串的转换* * *整数到字节,和字节到整数的转换*