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 自动转换为字符串
    }
}
相关推荐
basketball616几秒前
Golang:基本输入输出使用方法总结
开发语言·golang·xcode
随遇丿而安5 分钟前
第6周:RecyclerView 真正难的不是“写个列表”,而是让列表在复用中保持正确
android
Shingmc36 分钟前
【Linux】多路转接之epoll
linux·运维·服务器·开发语言·网络
utf8mb4安全女神13 分钟前
⽇志管理与深层防⽕墙
java·开发语言·spring boot
Mr.Lu ‍16 分钟前
QT调试查看QT内部数据时显示无可用信息,未为 Qt5Cored.dll 加载任何符号
开发语言·qt
qq_4523962319 分钟前
第九篇:《Dockerfile 指令精讲(二):WORKDIR、ENV、ARG、EXPOSE》
java·开发语言·docker
JAVA社区21 分钟前
Java高级全套教程(九)—— SpringCloud超详细实战详解
java·开发语言·后端·spring cloud·面试·职场和发展
wyjcxyyy23 分钟前
java反序列化-cc1链
java·c语言·开发语言
山上三树23 分钟前
Python 高频报错速查表(开发通用版)
开发语言·python
傻啦嘿哟27 分钟前
解决DNS污染:防止OpenClaw解析API域名到虚假地址
开发语言·php