Kotlin ?.let 、!! 、?:等运算符的使用
作者:燕歆波
导读:使用Kotlin开发,人性化提示 ?.let等语法处理
1、?.let
a?.let{it} 的意思:
当a为null时,什么都不执行
当a不为null时,执行大括号里的语句,意味着it肯定不为null
上面的语法可以理解为:
if(a == null){println("什么都不执行")
}
else{println("执行")
}
2、!!
在使用这句代码的时候如果不在outFilePath后加上!!,kotlin会在使用mSrcFilePath的地方提示风险,会建议你使用?.let{}对mSrcFilePath进行处理,那么,!!到底什么意思呢?
a!!
如果这里a!=null,则执行a
如果a==null ,则抛出空指针异常
3、?:
a ?: b
当a!=null时 执行a;
当a==null时,执行b;
需要注意的一点: 当声明message的时候,String类型之所以加了个?号,是因为不确定是否为null,所以才会使用此运算符,当然,即使确定不为null,也可以使用,只是语法会提示没必要
4、as?
a as? b
如果a 是 b,则 a as b
如果 a 不是 b ,则 null
5、?.
a?.b()
如果a != null,则a.b();
如果a == null ,则 结果为null
Kotlin ?.let 、!! 、?:等运算符的使用相关推荐
- kotlin之重载运算符(十一)
目录 1. 运算符重载概念 2. 重载运算符类型 3. 重载复合赋值运算符 4. 重载一元运算符 5. 重载比较运算符 1. 运算符重载概念 简单来说,就是Kotlin通过调用自己代码中定义特定的函数 ...
- kotlin 两目运算符
var xie = a ?: "" 1 这个?:是kotlin的elvis用法,属于两目运算符,就是简单的if.else缩写, 当a不为null,取a的值,当a为null,取&qu ...
- 【Kotlin】变量简介 ( 可空类型 | lateinit | 初始化判定 | 非空类型 | !! 与 ? 修饰符 | ?= ?. ?: 运算符 | 抽象属性变量)
文章目录 I . Kotlin 变量总结 II . Kotlin 非空变量 III . 非空变量不能赋空 IV . lateinit 关键字 V . lateinit 初始化判定 VI . Kotli ...
- kotlin条件表达式
2019独角兽企业重金招聘Python工程师标准>>> if 表达式 在 Kotlin 中,if 是带有返回值的表达式.因此Kotlin没有三元运算符(condition ? the ...
- 快速书写常见的 Kotlin 代码 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- kotlin学习目录
目录 kotlin学习之基础(一) kotlin学习之函数(二) kotlin学习之类(三) kotlin学习之类的扩展(四) kotlin学习之密封类(五) kotlin学习之嵌套类和内部类(六) ...
- 《Kotlin项目实战开发》 第3章 类型系统与可空类型
2019独角兽企业重金招聘Python工程师标准>>> 第3章 类型系统与可空类型 跟Java.C和C ++ 一样, Kotlin也是"静态类型编程语言". 通常 ...
- kotlin面试_Kotlin面试问题
kotlin面试 Kotlin is the latest JVM programming language from the JetBrains. Google has made it the of ...
- kotlin 循环_Kotlin控制流–否则,用于循环,同时,范围
kotlin 循环 In this tutorial, we'll be covering an important aspect of programming, namely Kotlin Cont ...
- 使用Kotlin的Android TextView –全面教程
Kotlin is the official programming language for Android apps development. In this tutorial, we'll be ...
最新文章
- vs 设置调试路径为exe所在的路径
- linux系统的日常管理2
- Storage Options
- 【Java】6.3 类成员
- [NOI2011]阿狸的打字机
- matlab机械臂工作空间代码_老外研发模拟肌肉运动的机械臂,与人类协同工作动作完美同步...
- 《linux内核设计与实现》读书笔记第一、二章
- web前端知识(04html的表单)
- 五道口服装市场关闭前 职业“甩货人”赚一笔
- 【故障诊断分析】基于matlab FFT轴承故障诊断【含Matlab源码 1397期】
- 感谢所有的幸运与不幸 --- 致我的2016
- HTML页面中条形码或二维码扫描枪的使用
- 文献管理软件//Zotero的常用插件——Sci-hub/shortdoi批量下载、Zotfile重命名PDF文件及ZoteroQuickLook快速预览(二)
- 使用certbot为nginx站点添加免费ssl证书
- Python pass 用法
- 简单使用萤石云,实时直播,监控回放
- Hexo Butterfly 主题功能拓展 - 标签云 云养猫
- vue-父子组件传参以及无限级评论
- 动态规划算法学习(一)爬楼梯和凑金额
- 微信知识付费小程序梦想贩卖机v2-1.0.67源码下载+无限裂变