36-Kotlin空安全
4.10 Kotlin空安全
在Java开发过程中,经常遇到的异常就是NullPointException(NPE),而产生空指针异常的原因很多是不可预见的。可以说,空指针异常是开发中低级且致命的问题。为了避免NPE的发生,程序开发者往往需要写很多的空判断。所幸,Kotlin提出的预先判空处理机制很好地解决了这一问题,为此Kotlin引用了两个新的操作符:判空操作符(?)和强校验操作符(!!)。
Kotlin作为一门空安全编程语言,对于NullPointException也不是完全消除的,以下几种情况可能会导致NPE。
- 显式调用throw NullPointerException()。
- 使用强校验操作符(!!)。
- 与Java代码互调用导致异常,如访问平台类型的null引用成员。
- 由初始化过程中某些数据不一致造成,如在构造函数中使用一个未初始化的 this对象。