Kotlin教程4---类型转换

智能类型转换:

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