美文网首页Kotlin
Kotlin的空安全

Kotlin的空安全

作者: 光羽隼 | 来源:发表于2017-11-01 15:57 被阅读0次

语言中对空值的检测是为了避免出现空指针的异常。

在类型的最后增加一个问号可以指定一个变量可以为null;因为在kotlin中一切都是对象,甚至java中的原始数据类型,一切都可以是null的。
val a:Int?=null
这样就标记了 a是一个可以为null的变量,在没有进行检查是否为null之前是不能直接使用它的。

判断是否为空的方法很多,可以使用if语句去判断,kotlin给我们比较简单的方法,安全访问操作符(?)。

val a:Int?=null
....
a?.tostring()

这里使用了安全访问操作符(?),只有这个变量不是null的时候才去指定这行代码,否则的话不会执行这行代码。

Elvis operator(?:)

这个操作符可以判断是否为空,如果为空可以做一些操作。

val a:Int?=null
val s=a?.toString() ?:"sss"
val t=a?.toString()?:return false
val x=a?.toSting()?:throw IllegalStateException()

这个操作符的作用就是,当a为空的时候,执行?:后边的语句,例如上段代码的第二句,anull,那么s就被赋值为"sss";第三句anull,那么当前语句所在的方法就会返回false;第四句anull,那么就会抛出IllegalStateException()异常。

跳过限制检查的操作符(!!

如果我们在使用一个可null的类型的变量,但是可以确定这个变量是非null的,那么我们就可以使用!!操作符来强制编译器执行可null类型时跳过限制检查。但是如果a为null的话,这段代码就会崩溃。

val a: Int? = null
val s=a!!.toString()

相关文章

  • Android开发kotlin学习(二)

    1.kotlin的空安全 为啥子说kotlin是空安全的?和Java相比,kotlin的空安全可以带来哪些便利之处...

  • Kotlin - 空安全

    1.Kotlin空安全介绍 Kotlin空安全可消除来自代码空引用的危险。 2.什么是空引用? 许多编程语言(包括...

  • Kotlin学习之空安全

    Kotlin学习之空安全 Kotlin相对于Java有许多改良的地方,空安全就是其中的一部分,Kotlin因此解决...

  • 2017-07-18-kotlin Android基础

    kotlin Android基础 1,实现一个基本的数据类 2,空安全: Kotlin,如很多现代的语言,是空安全...

  • Kotlin null 检测机制、空安全、空指针问题

    空安全 Kotlin 引入可空类型、非空类型 Kotlin 的类型系统旨在消除来自代码空引用的危险 许多编程语言(...

  • Kotlin空安全

    可空类型与非空类型 在 Kotlin 中,类型分为可空引用和非空引用。例如,String 类型的常规变量不能容纳 ...

  • Kotlin 空安全

    简介   Kotlin 的类型系统旨在从我们的代码中消除 NullPointerException。减少线上Nul...

  • Kotlin 空安全

    可空类型与非空类型 在 Kotlin 中,类型区分引用可以为 null (可空引用),或不能为 null(非空引用...

  • Kotlin(空安全)

    空安全 可空类型和非空类型 在 Kotlin 类型系统中可以为空和不可为空的引用是不同的。比如,普通的 Strin...

  • Kotlin 空安全

    前言 当我们使用 Java 开发的时候,如果不想遇到 NullPointerException,我们就需要在使用它...

网友评论

    本文标题:Kotlin的空安全

    本文链接:https://www.haomeiwen.com/subject/lttgpxtx.html