A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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;
        }
        这个之间有什么区别呢?当我用第一个的时候,为什么会报错呢?

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

1 个回复

倒序浏览
写个程序测试下就知道了,集合初始不为null
  1. import java.util.*;

  2. public class Demo
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 Collection c = new ArrayList();
  7.                 System.out.println(c==null);               
  8.         }
  9. }
复制代码

打印结果为false,所以你那个remove(0)会出现空指针异常。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马