Kotlin教程:可空null和非可空类型

Kotlin null安全性是一种消除代码中空引用风险的过程。 如果Kotlin编译器发现任何null参数而仍然执行null引用相关语句,则会立即抛出NullPointerException

Kotlin的类型系统旨在消除代码中的NullPointerExceptionNullPointerException只能用于以下原因:

  • 强行调用抛出NullPointerException;
  • 未初始化此运算符,可在构造函数中传递并在某处使用。
  • 使用外部Java代码作为Kotlin,是Kotlin与Java互操作性。

Kotlin可空类型和非可空类型

Kotlin类型系统区分可以保持null(可空引用)和不能保持null(非null引用)的引用。 通常,String类型不可为null。 要创建保存null值的字符串,必须通过放置一个?来明确定义它们。 例如,在String后面使用:String?

可空类型

通过放置一个?来声明可空类型? 在String后面:

var str1: String? = "hello"  
str1 = null // ok