Kotlin基础教程-空值安全
2017-06-08 00:02
204 查看
空安全
在Kotlin中定义一个允许为空的变量定义和不允许为空的定义方式是不一样的。
如果
如果b为空,则
检查函数参数一般这么写:
Kotlin系统有一项重要的特点,就是致力于想灭空引用。避免出现
NPE(NullPointerException)异常。
在Kotlin中定义一个允许为空的变量定义和不允许为空的定义方式是不一样的。
var a: String ="abc"//不能为空 var b: String? = "abc"//可以为空 b.length//可能会报错 //第二个就比第一个多了一个`?`
空值检查
val l = if (b != null) b.length() else -1
安全调用
b?.length()
如果
b为空,返回,不调用
length()
Elvis 操作符
?:val l = b.length()?: -1
如果b为空,则
l=-1。
检查函数参数一般这么写:
fun foo(node: Node): String? { val parent = node.getParent() ?: return null val name = node.getName() ?: throw IllegalArgumentException("name expected") //... }
!!操作符
val b: String? = null val l = b!!.length
安全转换
val aInt: Int? = a as? Int
相关文章推荐
- Win2008服务器或VPS安全配置基础教程
- Win2008服务器或VPS安全配置基础教程
- Kotlin基础教程-风格
- Kotlin基础教程-返回值和跳转
- Kotlin基础教程-流程控制语句
- 电脑安全设置基础教程
- Kotlin 基础教程之异常
- Kotlin基础教程之操作符与操作符重载
- Kotlin基础教程之控制流(顺序,分支,循环)
- Kotlin基础教程-属性和字段
- kotlin 官方学习教程之基础语法
- Kotlin基础教程-基础语法
- Kotlin基础教程-HelloWorld
- Kotlin基础教程之数据类型
- Kotlin基础教程之面向对象
- kotlin基础教程之类和继承
- Kotlin基础教程之dataclass,objectclass,use函数,类扩展,socket
- Kotlin基础教程-基本数据类型
- Kotlin 基础教程之反射