Kotlin教程:使用is来智能转换

Kotlin可空和非可空类型如何声明。 要使用可空类型,可以选择使用智能强制转换。 智能转换是Kotlin编译器跟踪if表达式内部条件的功能。 如果编译器发现变量可null类型的null值,则编译器将允许访问此变量。

示例

当尝试在没有安全转换的情况下访问可空类型的String时,它将生成编译错误。

var string: String? = "Hello!"  
print(string.length) // Compile error