java – 将缓存的Map对象复制到临时Map对象中

我正在获取Map< String,List>来自ehcache的对象.我不想更新Map对象,而是想将缓存的Map的内容复制到临时Map中.如何创建Map的副本,以便更改主Map中的值也不会更改副本中的值.

解决方法:

这真的取决于你想做什么.如果你只需要一份浅色的副本,保罗的答案就足够了,或者做以下事情

Map<String, Object> fromEhcache = ...
Map<String, Object> copy = new HashMap<String, Object>(fromEhcache);

但是,如果需要深层复制,即需要复制地图中的所有对象,则必须迭代整个地图,并单独复制每个对象.另外,地图中的对象必须支持某种复制构造函数.

上一篇:缓存注解@Cacheable、@CacheEvict、@CachePut使用及注解失效时间


下一篇:java – 清除远程服务器的ehcache