📜  kotlin variable possiblement null - Kotlin (1)

📅  最后修改于: 2023-12-03 15:02:32.312000             🧑  作者: Mango

Kotlin变量的可能为空性

在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操作符(?.)来访问可空类型变量的属性和方法。