请解释可空类型和不可空类型之间的区别。我是Kotlin的新手,我很困惑。
谢谢
答案 0 :(得分:1)
可空类型可以包含空。当type为可为空时,问号将在其类型后设置:
val str: String? = null
非空类型不能容纳空:
val str: String = "some value"
如果我们尝试将 null 值设置为 Non-nullable 类型,IDE将给出错误并且代码将不被编译:
val str: String = null // error, the code won't compile
答案 1 :(得分:0)
当变量具有可为null的类型时,该变量可以具有值或也可以具有null值,并且该程序将不会像大多数具有 nullpointer exeption 错误消息的基于Java的程序一样强制关闭。 / p>
例如:
val data: DataResponse? = null
保存更多,然后使用 val数据:字符串,因为当您使用 data 变量时,变量不具有值或为null时,程序此时不会强制关闭。 您可以像这样使用数据变量:
your_text.text = data
,您的代码不会强制关闭。
但是如果您的代码是这样,则表示 nonNullable 。
val data: DataResponse
您的应用将在您使用variabel时强制关闭