在运行代码的时候,最烦的就是看见Null了,而程序经常遇到的错误也是NullPointException(空指针异常)。就算是写代码处理Null,也烦的要死,因为要在各处重复的写:
1 |
|
然而很多时候你可能就忘写了。
当然还有的人,跟我一样纠结,认为代码不能写太多的废话,比如我明知道这个函数不会返回null,那我为什么要在这里判断是否为null,那这样我的代码是不是显得非常蠢啊?
但是你还是会有点犹豫,毕竟你害怕哪天,真的就空指针了,而你并没有判断。所以很多强迫症患者一直在思考,这代码怎样写才算好。
所以这篇博客。总结一下,到底应该怎样处理这个null
什么是null
在语言层面,定义null,返回null,没有任何问题,因为它确实代表着什么都没有,而且也不和0,空字符串等价。就像数据库,也是既有null值又有空类型的值(比如空字符串),它们并不能被混淆。
而在代码层面(工程层面),之所以报错,也就是所谓的NullPointException,只不过因为对一个不存在的东西进行了解引用罢了。
比如你调用了一个null对象的属性或者方法。类似a.b(),那这就自然会报空指针异常了。
再或者对一个null的容器,通过索引进行调用,也会出现空指针异常。
还有就是用for去迭代一个null容器。
以上这些都是常见的空指针异常错误的原因。