您的位置:首页 > 其它

Kotlin基础教程-空值安全

2017-06-08 00:02 204 查看
空安全

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: