我正在获取 Map<String , List>
来自 ehcache 的对象。我不想更新 Map
对象,而是我想复制缓存的内容 Map
进入临时Map
.如何创建 Map
的副本这样就可以更改主Map
中的值也不会更改副本中的值。
最佳答案
这真的取决于你想做什么。如果你只需要一个浅拷贝,Paul的回答就足够了,或者做下面的
Map<String, Object> fromEhcache = ...
Map<String, Object> copy = new HashMap<String, Object>(fromEhcache);
但是,如果您需要深拷贝,即您还需要复制 map 中的所有对象,则必须遍历整个 map ,并单独复制每个对象。另外, map 中的对象必须支持某种复制构造函数。
关于java - 将缓存的 Map<String , List> 对象复制到临时 Map<String , List> 对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11121975/