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

标签 java arraylist hash hashmap

我正在尝试使用旧 HashMap 中的数组列表构建新的 HashMap ,但出现此错误

错误:

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

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

代码

  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);
               }
        }

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

最佳答案

您可以使用下面的代码。

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

关于java - 尝试在空对象引用上调用虚拟方法 'boolean java.util.ArrayList.add(java.lang.Object)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27100895/

相关文章:

java.util.concurrent - 为什么 Atomic{Type}Array 构造函数中需要 volatileWrite

java - Android 检查 arraylist 中的字符串是否相等

java - 访问 ArrayList 中每个数组的第一个元素并对所有元素求平均值

java - 删除 arraylist 中的每第 3 个元素

python - 逐字或按哈希比较 2 段文本

php - 比较哈希字符串

perl - 遍历复杂的数据结构

java - 如何在 React 应用程序中使用 Java 并使用 MySQL 作为数据库。有什么建议吗?

java - 解耦模型和输入检查

java - 在Java中创建8字节IV