其他分享
首页 > 其他分享> > com.google.common.collect.Lists.addAll()空指针原因分析

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     }

 

可见 c不能为空。

标签:google,addAll,list,numNew,Lists,List,size
来源: https://www.cnblogs.com/luao/p/13827825.html