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 自动转换为字符串
    }
}
相关推荐
ujainu5 小时前
告别杂乱!Flutter + OpenHarmony 鸿蒙记事本的标签与分类管理(三)
android·flutter·openharmony
黎雁·泠崖5 小时前
【魔法森林冒险】2/14 抽象层设计:Figure/Person类(所有角色的基石)
java·开发语言
季明洵6 小时前
C语言实现单链表
c语言·开发语言·数据结构·算法·链表
墨雪不会编程6 小时前
C++之【深入理解Vector】三部曲最终章
开发语言·c++
常利兵6 小时前
Android内存泄漏:成因剖析与高效排查实战指南
android
·云扬·6 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
浅念-6 小时前
C语言编译与链接全流程:从源码到可执行程序的幕后之旅
c语言·开发语言·数据结构·经验分享·笔记·学习·算法
野生技术架构师6 小时前
SQL语句性能优化分析及解决方案
android·sql·性能优化
小宋10216 小时前
Java 项目结构 vs Python 项目结构:如何快速搭一个可跑项目
java·开发语言·python
一晌小贪欢7 小时前
Python 爬虫进阶:如何利用反射机制破解常见反爬策略
开发语言·爬虫·python·python爬虫·数据爬虫·爬虫python