com.google.common.collect.Lists.addAll()空指针原因分析

代码示例

1  public static void main(String[] args) {
2         List<Integer> list = Lists.newArrayList();
3         List<Integer> listA = Lists.newArrayList();
4         listA.add(1);
5         List<Integer> listB = null;
6         list.addAll(listA);
7         list.addAll(listB);
8         System.out.println(JSON.toJSONString(list));
9     }

 

现象

第7行代码出现空指针

原因

通过查询源码发现  addAll方法 第二行 会出现空指针 

1  public boolean addAll(Collection<? extends E> c) {
2         Object[] a = c.toArray();
3         int numNew = a.length;
4         ensureCapacityInternal(size + numNew);  // Increments modCount
5         System.arraycopy(a, 0, elementData, size, numNew);
6         size += numNew;
7         return numNew != 0;
8     }

 

com.google.common.collect.Lists.addAll()空指针原因分析

可见 c不能为空。

上一篇:2021-11-04


下一篇:python密码生成器