简要介绍
Java编程中有一个祖传痛点,关于对象调用的对象为空指针(NullPointerException)问题.常常为了获取一个属性,需要进行这样的调用a.b.c.d
. 但是因为每一层都有可能出现空指针,于是代码要这样写.
if(a!=null && a.b!=null && a.b.c!=null )
{
......
String userName = a.b.c.d;
}
难过不难过? 关键这样的代码到处都是. 哎!
Kotlin的优雅解决方案
- Kotin玩法
val userName = a?.b?.c?.d
- 上面的代码是否就ok了呢?
网上很多文章就写到这里了.这里具有误导性的. 因为上面的代码没有考虑a、a.b、a.b.c为空的情况. 完善的写法如下:
val userName = a?.b?.c?.d ?: "superman"
配合“?:”,指定当前面变量为空时,给予默认值.
安卓开发技术分享: https://www.jianshu.com/p/442339952f26
点击关注专辑,查看最新技术分享
更多技术总结好文,请关注:「程序园中猿」
![](https://img.haomeiwen.com/i6169789/abfba609ab92b827.png)
网友评论