Kotlin中 ? 和 !! 的使用
2021-02-05 本文已影响0人
json_6d65
首先明确在Kotlin中的变量定义
定义变量规则:var | val 变量名 [:类型] [= 初始值]
例:var name : String = "张三"
val gender : String ="男"
通俗来讲,var修饰变量,val修饰常量;
接下来先说?,并举简单的例子加以说明
1、?修饰申明在成员变量的类型后面,表示这个变量可以为null。该变量如果为null时,不会执行该变量后面的逻辑,也不会抛出空指针异常,俗称空安全。如果不为null,会正常执行该变量后面的内容。
举例说明
(1)反例: 一个变量重新赋值后提示“Null can not be a value of a non--null type String”
正例:
(2)类中的成员变量
(3)有参传递时
2、!! 加在变量后面,表示该变量如果为null时,会抛出空指针异常,像java语法一样空指针不安全;如果不为null,才会正常执行该变量后面的内容。
举例说明:
(1)反例:name未赋值,如下写法会有空指针;
正例:
这样就不会有空指针;
今天就记录这么多,如有帮助,点个赞再走吧;谢谢啦;