智能类型转换:
val a:Any = xxx
if (a is String){
//在大括号范围内a自动转换成String类型,就可以调用String中的方法
print(a.length)
}
//当出了大括号就恢复成Any类型
print("a is any")
不仅如此,还有更智能的
if(a !is String){
//大括号中的a不是String类型
}
//出了大括号a就是String类型
print(a.length)
||
右侧的 x 自动转换为字符串
if (x !is String || x.length == 0) return
&&
右侧的 x 自动转换为字符串
if (x is String && x.length > 0) {
print(x.length) // x 自动转换为字符串
}
强制类型转换
val b = a as String //把a强转成String类型
val b = a as? String //安全的把a转换成String