跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
代码酷
搜索
搜索
中文(中国大陆)
外观
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“︁
Kotlin类型转换
”︁(章节)
页面
讨论
大陆简体
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
您的更改会在有权核准的用户核准后向读者展示。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
== 基本概念 == 在Kotlin中,类型转换分为两种主要方式: * '''显式类型转换''':开发者明确指定转换的目标类型。 * '''隐式类型转换''':编译器在特定条件下自动完成类型转换(Kotlin中较少使用)。 Kotlin不支持某些语言(如Java)中的隐式类型提升(例如将`Int`自动转为`Long`),因此开发者需要显式调用转换方法。 === 数字类型转换 === Kotlin的数字类型(如`Int`、`Long`、`Double`等)之间不能隐式转换,必须显式调用转换函数。以下是常见的数字类型转换函数: * `toByte()` * `toShort()` * `toInt()` * `toLong()` * `toFloat()` * `toDouble()` * `toChar()` 以下是一个示例: <syntaxhighlight lang="kotlin"> fun main() { val intValue: Int = 42 val longValue: Long = intValue.toLong() // 显式转换为Long val doubleValue: Double = intValue.toDouble() // 显式转换为Double println("Int: $intValue, Long: $longValue, Double: $doubleValue") } </syntaxhighlight> 输出: <pre> Int: 42, Long: 42, Double: 42.0 </pre> === 字符串与数字的转换 === 字符串可以通过`toInt()`、`toDouble()`等方法转换为数字类型,但需要注意字符串必须符合数字格式,否则会抛出异常。 <syntaxhighlight lang="kotlin"> fun main() { val numberString = "123" val intValue = numberString.toInt() // 字符串转Int val doubleValue = "3.14".toDouble() // 字符串转Double println("Int: $intValue, Double: $doubleValue") // 错误示例(会抛出 NumberFormatException) // val invalidNumber = "abc".toInt() } </syntaxhighlight> 输出: <pre> Int: 123, Double: 3.14 </pre> === 安全类型转换 === Kotlin提供了安全转换方法`toIntOrNull()`、`toDoubleOrNull()`等,如果转换失败,会返回`null`而不是抛出异常。 <syntaxhighlight lang="kotlin"> fun main() { val validNumber = "123".toIntOrNull() val invalidNumber = "abc".toIntOrNull() println("Valid: $validNumber, Invalid: $invalidNumber") } </syntaxhighlight> 输出: <pre> Valid: 123, Invalid: null </pre>
摘要:
请注意,所有对代码酷的贡献均被视为依照知识共享署名-非商业性使用-相同方式共享发表(详情请见
代码酷:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)