判断ArrayList是否为空的疑问,判断ArrayList疑问
分享于 点击 5936 次 点评:158
判断ArrayList是否为空的疑问,判断ArrayList疑问
今天用hibernate做查询时,返回一个List对象,要判断这个list是否为空,我是用的“==null”来判断的,结果竟然不对,我以为这是hibernate对ArrayList又做了一次封装,但我通过读源码发现这是jdk API原有的特性。
public ArrayList(int initialCapacity) {
super();
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
this.elementData = new Object[initialCapacity];
}
public ArrayList() {
this(10);
}
通过以上源代码可以看出,new ArrayList()的时候,默认分配了10个null对象,显然再用“==null”这种方法就不能判断了,因此可以通过size()==0或者isEmpty()这两种方式来判断,其实isEmpty就是通过size来判断的。
以后要用size进行判断叻·····
参考:http://lineshow.blogbus.com/logs/44197866.html
相关文章
- 暂无相关文章
用户点评