kotlin - 空安全
空安全设计的操作符号
| 操作符 | 作用 |
| ? |
可空操作符,声明该值可为空 |
| ?. |
安全调用操作符 b?.length 如果b非空,就返回b.length,否则返回 null |
| !! |
非空断言运算符,将任何值转换为非空类型,若该值为空则抛出异常 val t = b!!.length |
| ?.let{} | ?. 与let一起使用,用于遍历集合时,则忽略null值,只对非空值执行操作 |
| ?: |
Elvis操作符 val t = b?.length ?: -1 如果 ?: 左侧表达式(b?.length)非空,elvis 操作符就返回其左侧表达式,否则返回右侧表达式(-1) |
| as? |
val aInt:Int? = a as? Int 如果对象不是目标类型,如果尝试转换不成功则返回null |
| filterNotNull() | 如果有一个可空类型元素的集合,想要过滤非空元素,可以使用filterNotNull 来实现 |
kotlin - 空安全的更多相关文章
- 请不要乱用Kotlin ? 空检查
直接上实例: fun main(args: Array<String>) { println("now, begin save data to database") v ...
- Kotlin——从无到有系列教程(5): 你该知道的Kotlin可空类型、空安全(null)、类型转换等特性
在我们熟知的Java中,定义一个变量可以默认不赋值,因为Java的系统会给我们默认赋一个默认值,并且Java可定义一个赋值为null的变量,这样在使用这个变量的时候都会去显示判断该变量是否为null. ...
- Kotlin实践记录
Kotlin中网络请求和Json解析: Request(url).run()为Kotlin中的网络请求方式,Json解析是自己封装类的操作. Json.get().toObject(Request(u ...
- 对 Kotlin 与 Java 编程语言的思考
从长远来看,排名前10的也基本上是Java.C.C++.Python.C#.VB.PHP.JavaScript.至于Kotlin的排名,11月份在编程语言仅排41名,Ratings仅有0.216%. ...
- Kotlin 检查空类型
Kotlin 会检查你定义的非空类型 如果运行过程中被赋空值了 会直接crash
- Kotlin学习快速入门(5)——空安全
介绍 kotlin中,对象可分为两种类型,可为空的对象和不可为空对象 默认为不可为空对象,代码检测如果发现不可为空对象赋予了null,则会标红报错. 可为空的对象,如果调用了方法,代码检测也会标红报错 ...
- kotlin之变量的可空与非空
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/218 kotlin之变量的可空与非空 上面一篇文章,介绍了 ...
- KOTLIN开发语言文档(官方文档) -- 入门
网页链接:https://kotlinlang.org/docs/reference/basic-syntax.html 1. 入门 1.1. 基本语法 1.1.1. 定义包 包说明应该在源 ...
- Kotlin开发语言文档(官方文档)-- 目录
开始阅读Kotlin官方文档.先上文档目录.有些内容还未阅读,有些目录标目翻译还需琢磨琢磨.后续再将具体内容的链接逐步加上. 文档链接:https://kotlinlang.org/docs/kotl ...
随机推荐
- 通过数组和枚举简化GPIO操作编码(转)
源: 通过数组和枚举简化GPIO操作编码
- uwsgi xml 配置
uwsgi 用来做nginx和应用之间的桥梁,负责接收nginx动态转发过来的用户请求,其配置方式有多种,我一般选择<xml>标签的形式 下面的这些配置仅限于ubuntu下用apt-get ...
- Selenium+Headless Firefox
背景 今天本地调试基于Selenium+PhantomJS的动态爬虫程序顺利结束后,着手部署到服务器上,刚买的热乎的京东云,噼里啪啦一顿安装环境,最后跑的时候报了这么个错误: UserWarning: ...
- Eureka-zookeeper的服务发现替代方案
参考: https://my.oschina.net/thinwonton/blog/1622905 http://www.open-open.com/lib/view/open14269407225 ...
- 使用mac自带终端修改hosts
修改mac host文件绑定域名 打开终端 在终端terminal中输入sudo vi/etc/hosts sudo与vi之间有一个空格 上一步输入完成之后按enter回车键,如果当前用户账号有密码, ...
- win10 实现 iPad AVplayer 搭建 ftp 共享 PC 端
1.首先是 iPad 端直接去 App Store 下载 AVplayer 即可,我下载的时候这个APP收费 18 元.这个app内置了加速播放视频的功能,非常适合学习时使用. 2.PC 端搭建 ft ...
- 集合框架-Set集合
代码: Collection c = new ArrayList(); c.add("hello"); c.add("world"); c.add(" ...
- IIC学习
1 概述: IIC是用两条双向的线,一条SDA(serial data line),一条SCL(serial clock). SCL:上升沿将数据输入到每个EEPROM器件中,下降沿驱动EEPROM器 ...
- iOS Xcode Error 集锦
一),'libxml/tree.h' file not found Solution: 1. 导入libxml2.dylib 包 2.设置Header Search Paths 为 /usr/inc ...
- Install jdk on Ubuntu16
wikiHow to Install Oracle Java JDK on Ubuntu Linux This tutorial will cover the installation of 32-b ...