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不能爲空。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章