安卓开发安卓开发Android开发经验谈

利用Kotlin优雅的解决Java的空指针问题

2019-04-08  本文已影响2人  蓝不蓝编程

简要介绍

Java编程中有一个祖传痛点,关于对象调用的对象为空指针(NullPointerException)问题.常常为了获取一个属性,需要进行这样的调用a.b.c.d. 但是因为每一层都有可能出现空指针,于是代码要这样写.

if(a!=null && a.b!=null && a.b.c!=null )
{
......
   String userName = a.b.c.d;
}

难过不难过? 关键这样的代码到处都是. 哎!

Kotlin的优雅解决方案

  1. Kotin玩法
val userName = a?.b?.c?.d
  1. 上面的代码是否就ok了呢?
    网上很多文章就写到这里了.这里具有误导性的. 因为上面的代码没有考虑a、a.b、a.b.c为空的情况. 完善的写法如下:
val userName = a?.b?.c?.d ?: "superman"

配合“?:”,指定当前面变量为空时,给予默认值.

安卓开发技术分享: https://www.jianshu.com/p/442339952f26
点击关注专辑,查看最新技术分享
更多技术总结好文,请关注:「程序园中猿」

上一篇 下一篇

猜你喜欢

热点阅读