我有简单的 Guava LoadingCache 用例,我将关键对象列表传递给getAll
并实现loadAll
以在缓存中不可用时获取结果。
问题是当缓存为空时,
- 调用
getAll
记录集合返回 Map 类型RegularImmutableMap
。 - 并且调用单个记录
getAll
的集合返回 Map 类型。SingletonImmutableBiMap
这最终会导致另一个问题。当我尝试收集map.values()
它时,RegularImmutableMap
返回一个类型ImmutableList
并SingletonImmutableBiMap
返回一个类型ImmutableSet
。
从用户的角度来看,为什么getAll
方法返回不同类型的有什么具体原因/优势ImmutableMap
吗?