今天遇到了一个问题,才发现之前对空指针异常的理解有错
看一下Objects.equals的源码
当时很奇怪为什么这里a如果为空的话,用==不会发生空指针异常
然后看了看自己以前码的,还提示如果对空对象不判断的话会出现空指针异常
然后自己试了一下空对象比较,确实没有异常
最后看了下空指针异常的解释才发现自己之前都疏忽了,只有空对象在调用方法时候才会触发异常,空对象本身在进行比较的时候并不会发生异常
这一点之前都疏忽了。。吐槽一下自己正儿八经地避开空指针异常,但异常触发的原理一直是我以前自以为的