【发布时间】:2015-06-30 14:22:08
【问题描述】:
我在 java 项目中使用 EHCache。我在这段代码上遇到了问题。我的对象此时被缓存了!
Element lElem = cacheManager.get("KEY");
if (lElem != null) {
// Get my cached objects
lLMyVO = (List<MyVO>) lElem.getObjectValue();
}else{
// Do something to set element
}
// Add some elements on lLMyVO list :
for (MyVO lAnotherMyVO : lAnotherList) {
lLMyVO .add(lMyVO );
}
此时,我的lLMyVO 列表包含lAnotherList 的元素!没关系。但是在我的 EHCache 对象中lAnotherList 的元素也被添加了!而且不行,我不想改缓存。
似乎lLMyVO 不是一个新对象,而只是对缓存中对象的引用。
你知道怎么做吗?
【问题讨论】: