我有一个返回实体列表的查询。当我尝试将此列表放入缓存时,我得到了熟悉的java.lang.IllegalArgumentException
.
但是...我可以毫无问题地将列表中的每个项目都放入缓存中。即使我创建一个新LinkedList
的,使用 for 循环将实体从获取的列表复制到这个新的并尝试将其放入缓存中,它也可以工作。
List<MyEntity> a = (List<MyEntity>) q.execute(getKey());
List<MyEntity> b = new LinkedList<MyEntity>();
for (MyEntity e : a)
b.add(e);
cache.put(key, b); // this works
cache.put(key, a); // this doesn't
那么我错过了什么?缓存其他查询有效,我不知道为什么这个不同。