前言:
最近在复盘时,发现之前在开发中遇到的一些小问题:
我们先来看看这段代码:
如果这里的ids为[null,null,null]
这段代码可以走下去吗?
可能有同学会说:当然啦,这不相当于ids就是null
恭喜你,这边文章又帮你扫了一个知识点
我们来看看CollectionUtiles.isEmpty()的源码:
我们可以看出,如果ids为[null,null,null],实际上这里返回的是false
验证一下:
可以看到,我在这个needSynEmployTOS中添加了很多空对象,并把他的id收集为一个List按照我们的想法,其实这个ids就应该是null,但从结果来看并不是我们想的那样。
总结:从源码和实验可以看出如果这个ids里面是多个 null是没法拦截到的,只有这个List里面只有一个单独的null 才能拦截到