今天用hibernate做查询时,返回一个List对象,要判断这个list是否为空,我是用的“==null”来判断的,结果竟然不对,我以为这是hibernate对ArrayList又做了一次封装,但我通过读源码发现这是jdk API原有的特性。
通过以上源代码可以看出,new ArrayList()的时候,默认分配了10个null对象,显然再用“==null”这种方法就不能判断了,因此可以通过size()==0或者isEmpty()这两种方式来判断,其实isEmpty就是通过size来判断的。