黑马程序员技术交流社区
标题:
银行管理系统中得到数字的方法疑惑
[打印本页]
作者:
侠客梦的懒猫
时间:
2013-12-17 10:41
标题:
银行管理系统中得到数字的方法疑惑
public synchronized Integer fecthServiceNumber()
{
if(queueNumber!=null)
{
return queueNumber.remove(0);
}
return null;
}
与这样
public synchronized Integer fecthServiceNumber()
{
if(queueNumber.size()>0)
{
return queueNumber.remove(0);
}
return null;
}
这个之间有什么区别呢?当我用第一个的时候,为什么会报错呢?
作者:
衣带赞
时间:
2013-12-17 20:55
写个程序测试下就知道了,集合初始不为null
import java.util.*;
public class Demo
{
public static void main(String[] args)
{
Collection c = new ArrayList();
System.out.println(c==null);
}
}
复制代码
打印结果为false,所以你那个remove(0)会出现空指针异常。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2