尝试在空对象引用上调用虚方法'boolean java.util.ArrayList.add(java.lang.Object)'

use*_*805 1 java hash arraylist hashmap

我正在尝试使用旧hashmap中的arraylist构建新的hashmap,但是我得到了这个错误

错误:

ava.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.util.ArrayList.add(java.lang.Object)' on a null object reference
Run Code Online (Sandbox Code Playgroud)

我知道一些初始化是错误的,但无法捕捉它

  nMap = new HashMap<String, ArrayList<Integer>>();
        for (String type: allTypes) {
            if (oData.get(type).size() > 0) {
                    arraySort(oData.get(type));
                    nData.get(type).add(fData.get(type).get(0).value);
               }
        }
Run Code Online (Sandbox Code Playgroud)

OData是旧的hashmap,包含肯定的数据...

Nam*_*ala 5

您可以使用以下代码.

if (nData.get(type) == null) {
    nData.put(type, new ArrayList<>());
}
nData.get(type).add(fData.get(type).get(0).value);
Run Code Online (Sandbox Code Playgroud)