美文网首页程序员
kotlin的空安全

kotlin的空安全

作者: 刘岳森 | 来源:发表于2018-05-15 19:29 被阅读37次

为什么需要空安全

在java中我们经常会因为一个变量没能正确判断是否非空而导致程序崩溃,java中需要我们去自己判断这个参数是否为空,但是在kotlin中会在编码的过程中保证是空安全的(并不是说不能为空,而是说如果是空的,那么会返回null,或者throwError),kotlin会通过不断爆红的方法去防止出现运行时因为空崩溃,虽然这种做法会使编码的过程更加困难,但是报错的bug肯定要比运行时bug好解决的多。

可空类型和非可空类型

在kotlin中变量默认是不能为空的
var string :String = null这个是会报错的,变成var string :String? = null在一个参数后面加入问号说明这是一个可空变量

null 和 空之间的区别

  • null 是指对象的指针指向了一个空的地方,这个指针指向了null,是安全的
  • 对象为空其实是指的一个对象没能初始化,在未声明一个变量lateinit的时候,JVM会自动为变量分配一个内存地址,但是没有初始化,如果在这个时候访问这个对象会导致访问空指针出现NPE问题(nullpointerError)

kotlin问号和双感叹号(?.和!!)

b?.length
如果 b 非空,就返回 b.length,否则返回 null
b!!
非空断言运算符(!!)将任何值转换为非空类型,若该值为空则抛出异常。

相关文章

  • 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/youydftx.html