[英]What is the difference between nullabe and non-nullable type in Kotlin
请解释可为空类型和不可为空类型之间的区别。 我是 kotlin 的新手,我很困惑。
谢谢
可空类型可以保存空值。 当 type 可以为 null 时,在它的 type 之后设置问号:
val str: String? = null
不可为空的类型不能持有空值:
val str: String = "some value"
如果我们尝试将null值设置为Non-nullable类型,IDE 将给出错误并且不会编译代码:
val str: String = null // error, the code won't compile
当变量具有可空类型时,该变量可以具有值,也可以具有 null 值,并且程序不会像大多数带有空指针异常错误消息的基于 Java 的程序那样强制关闭。
例如 :
val data: DataResponse? = null
它比你使用val data: String更节省,因为当你的数据变量没有 value 或 null 当你使用它时,你的程序不会强制关闭。 您可以像这样使用您的数据变量:
your_text.text = data
并且您的代码不会强制关闭。
但是如果你的代码是这样的,那就意味着nonNullable 。
val data: DataResponse
当您使用变量时,您的应用程序将强制关闭
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.