问题
如果我明确遍历哈希映射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