kotlin 中有类型检测与类型转换章节,今天回顾看到这里记录下 详细的地址如下
val x: String = y as String
这个y就是String 类型,不过,这个写法可能存在问题,
as转换类型的时候null 不能转换,所以当y为null的时候就报错了
这个时候可以在as 后面添加 ?
val x: String? = y as? String
?as 是“不安全的”类型的转换
as?是“安全的”类型转换
fun demo(x: Any) {
if (x is String) {
print(x.length) // x 自动转换为字符串
}
}