kotlin as 和 is 的使用

kotlin 中有类型检测与类型转换章节,今天回顾看到这里记录下 详细的地址如下

类型检测与类型转换 · Kotlin 官方文档 中文版

as 的功能是类型转换

复制代码
val x: String = y as String

这个y就是String 类型,不过,这个写法可能存在问题,

as转换类型的时候null 不能转换,所以当y为null的时候就报错了

这个时候可以在as 后面添加 ?

复制代码
val x: String? = y as? String

as 是"不安全的"类型的转换

as?是"安全的"类型转换

is 的功能是类型检测

复制代码
fun demo(x: Any) {
    if (x is String) {
        print(x.length) // x 自动转换为字符串
    }
}
相关推荐
小龙报25 分钟前
《算法通关指南:数据结构和算法篇 --- 顺序表相关算法题》--- 询问学号,寄包柜,合并两个有序数组
c语言·开发语言·数据结构·c++·算法·学习方法·visual studio
数据知道30 分钟前
Go语言设计模式:工厂模式详解
开发语言·设计模式·golang·go语言·工厂模式
●VON33 分钟前
双非大学生自学鸿蒙5.0零基础入门到项目实战 -《基础篇》
android·华为·harmonyos·鸿蒙
urkay-40 分钟前
Android Cursor AI代码编辑器
android·人工智能·编辑器·iphone·androidx
AI视觉网奇1 小时前
coco json 分类标注工具源代码
开发语言·python
勇敢牛牛_2 小时前
Rust真的适合写业务后端吗?
开发语言·后端·rust
要加油GW2 小时前
python使用vscode 需要配置全局的环境变量。
开发语言·vscode·python
B站计算机毕业设计之家2 小时前
python图像识别系统 AI多功能图像识别检测系统(11种识别功能)银行卡、植物、动物、通用票据、营业执照、身份证、车牌号、驾驶证、行驶证、车型、Logo✅
大数据·开发语言·人工智能·python·图像识别·1024程序员节·识别
ceclar1232 小时前
C++日期与时间
开发语言·c++