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

尝试在空对象引用上调用虚拟方法“boolean java.util.ArrayList.add(java.lang.Object)”,java,arraylist,hash,hashmap,Java,Arraylist,Hash,Hashmap,我试图用arraylist从旧的hashmap构建新的hashmap,但是我得到了这个错误 错误: ava.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.util.ArrayList.add(java.lang.Object)' on a null object reference 我知道这是错误的一些初始化,但无法捕捉它 代码 OData是包含数据的旧hashmap…您可以使用下面的代码 i

我试图用arraylist从旧的hashmap构建新的hashmap,但是我得到了这个错误

错误:

ava.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.util.ArrayList.add(java.lang.Object)' on a null object reference
我知道这是错误的一些初始化,但无法捕捉它

代码


OData是包含数据的旧hashmap…

您可以使用下面的代码

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

您可以使用下面的代码

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

cData不包含类型或与此键关联的值为空,但可能性较小。使用调试器,查看cData中到底包含哪些元素。cData.gettype正在返回null值如果映射包含null元素,则必须在它们的值中添加一些内容。是,但是如何添加第一个类型,然后将各自的arraylist更新到每个typcData不包含类型,或者与此键关联的值为null,但可能性较小。使用调试器,查看cData中到底包含哪些元素。cData.gettype正在返回null值映射包含null元素,您必须在它们的值中添加一些内容。是的,但是如何添加第一个类型,然后将相应的arraylist更新为每个类型