类型转换是将一个数据类型变量转换为另一种数据类型的过程。 在Kotlin中,不支持将较小数据类型隐式转换为较大数据类型(在java中支持)。 例如,Int
不能分配转换为Long
或Double
。
在Java语言中
int value1 = 10; long value2 = value1; // 有效
在Kotlin语言中
var value1 = 10 val value2: Long = value1 // 编译错误,类型不匹配
但是在Kotlin中,转换是通过显式进行的,较小的数据类型可转换为较大的数据类型,反之亦然。但它是通过使用辅助函数完成的。
var value1 = 10 val value2: Long = value1.toLong()
Kotlin中用于数字转换的辅助函数列表如下:
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
下面来看一个从Int
转换为Long
的示例。
fun main(args : Array<String>) { var value1 = 100 val value2: Long =value1.toLong() println(value2) }
还可以从较大的数据类型转换为较小的数据类型。
fun main(args : Array<String>) { var value1: Long = 200 val value2: Int =value1.toInt() println(value2) }