番石榴LoadingCache getAll - 但没有任何参数?

时间:2014-03-26 17:56:40

标签: java generics caching guava

我正在使用Guava LoadingCache将所有元素一次性批量加载到我的eager缓存中。但是我提供的loadAll方法的实现并不真正需要Iterable<? extends K>个键参数,因为我的DAO除了任何参数外都没有 - 我的DAO方法返回generic Map<K,V>

由于我的实现是通用的,我使用泛型来对getAllIterable(<? extends K> keys_)进行调用,但由于类型擦除,我无法实例化K键,并将其传递给getAll,因为它确实如此不要指望任何非null键。

有没有人知道有关此问题的任何解决方法?

1 个答案:

答案 0 :(得分:4)

如果目标仅仅是使用Cache的内容预填充Map<K, V>,那么您应该使用Cache.putAll(Map<K, V>)来放置指定Map的所有条目在缓存中。