问题

如果我明确遍历哈希映射A中的每个元素,然后“放入”哈希映射B中的每个元素,那么我就没有问题。但是,如果由于某种原因尝试调用A.putAll(B),则B最终会为null。

起作用的代码是基本的迭代器方法,如下所示:

    Iterator it = A.entrySet().iterator();
    while(it.hasNext()){
        Map.Entry entry = (Map.Entry) it.next();
        B.put((Integer)entry.getKey(),(Integer)entry.getKey());
    }


当我这样做时,我会遇到麻烦。

HashMap A = loadHashMapWithData();
HashMap B = new HashMap();
A.putAll(B);
System.out.println(A);
System.out.println(B);


我试图将数据传递到的第二个哈希图始终以“ null”结尾。
展望未来,我正在使用第一种方法,但是很高兴知道为什么putAll失败了。

最佳答案

A.putAll(B)B中的所有元素放入A-我想您想B.putAll(A)A中的所有元素放入B

object.method(parameter)通过method调用object上的parameter-您想通过putAll调用B,所以B是您的object

09-05 00:48