Kotlin中 ? 和 !! 的使用

首先明确在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未赋值,如下写法会有空指针;

正例:

这样就不会有空指针;

今天就记录这么多,如有帮助,点个赞再走吧;谢谢啦;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先介绍下Kotlin在项目里面集成方法,集成方式很简单,只需要按照下面操作就好 在根目录的Build文件里面添加...
    wayDevelop阅读 1,410评论 0 0
  • 自从实习结束后直到现在将近一年多的时间再也没有用过kotlin, 在今年五月份I/O大会上,Google再次明确了...
    Scus阅读 1,396评论 0 0
  • 本文是在学习和使用kotlin时的一些总结与体会,一些代码示例来自于网络或Kotlin官方文档,持续更新... 对...
    竹尘居士阅读 3,336评论 0 8
  • Google在今年的IO大会上宣布,将Android开发的官方语言更换为Kotlin,作为跟着Google玩儿An...
    玖玖君阅读 7,573评论 0 8
  • 前言 在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。 ...
    玖玖君阅读 697评论 0 0