阅读 144

Kotlin 类型转换

在本文中,您将学习类型转换。如何借助示例将一种类型的变量转换为另一种类型。

在Kotlin中,一种类型的数值不会自动转换为另一种类型,即使另一种类型更大。这与Java处理数字转换的方式不同。例如:

在Java中,

int number1 = 55;long number2 = number1;    // 有效代码

在这里,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中用于类型转换的函数列表:

  • 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


文章分类
百科问答
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐