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