📅  最后修改于: 2023-12-03 15:02:32.312000             🧑  作者: Mango
在Kotlin中,变量可以标记为nullable或non-nullable。当一个变量标记为可为空性时,它可以存储一个空值。
在Kotlin中,我们可以使用?符号来标记一个变量是可空类型。例如:
var name: String? = "John"
name = null
在这个例子中,我们创建了一个可空类型的字符串变量name。然后我们将其赋值为null。这是完全有效的。
需要注意的是,当我们想要使用可空类型变量的属性或方法时,我们需要使用Safe操作符(?.)来保证我们在变量不为空的情况下才能访问变量。
例如:
val length = name?.length
在此示例中,我们使用Safe操作符(?.)访问name变量的长度属性。如果name变量为空,则length变量将被赋值为null。否则,它将被赋值为name变量的长度。
与可空类型相反,我们可以使用非空类型来标记变量。例如:
var age: Int = 23
在这个例子中,我们创建了一个非空的整数类型变量age。这意味着在任何时候,变量age都不能为null。
需要注意的是,如果我们将一个值为null的可空类型赋给非空类型,编译器将会报错。例如:
var weight: Double = null // 编译器将会报错,null不能赋给非空类型变量
在Kotlin中,我们可以使用可空类型和非空类型来标记变量。可空类型变量可以为null,而非空类型变量不能为null。需要时,我们可以使用Safe操作符(?.)来访问可空类型变量的属性和方法。