Kotlin教程:可空null和非可空类型
Kotlin null
安全性是一种消除代码中空引用风险的过程。 如果Kotlin编译器发现任何null
参数而仍然执行null
引用相关语句,则会立即抛出NullPointerException
。
Kotlin的类型系统旨在消除代码中的NullPointerException
。NullPointerException
只能用于以下原因:
- 强行调用抛出
NullPointerException
; - 未初始化此运算符,可在构造函数中传递并在某处使用。
- 使用外部Java代码作为Kotlin,是Kotlin与Java互操作性。
Kotlin可空类型和非可空类型
Kotlin类型系统区分可以保持null
(可空引用)和不能保持null
(非null
引用)的引用。 通常,String
类型不可为null
。 要创建保存null
值的字符串,必须通过放置一个?
来明确定义它们。 例如,在String后面使用:String?
可空类型
通过放置一个?
来声明可空类型?
在String后面:
var str1: String? = "hello"
str1 = null // ok