地图中 HashMap 的 ImmutableMap.of() 解决方法?

新手上路,请多包涵

有一些实用方法可以创建 ImmutableMap 就像 Immutable.of(Key, value) 及其重载。

但是对于 HashMapLinkedHashMapMaps 类中不存在这样的方法。

有没有更好的方法来做到这一点,或者 Guava 假设这样的地图始终是一个常量地图,并且 ImmutableMap 是最好的选择,不需要为 HashMap .

原文由 Premraj 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

为什么你想要那些用于常规 HashMapLinkedHashMap ?你可以这样做:

 Map<String, Object> map = Maps.newHashMap();
map.put(key, value);

ImmutableMap 的问题是创建起来有点麻烦;您首先需要制作一个 Builder ,然后将键值对放入构建器中,然后调用 build() 以创建您的 ImmutableMap ImmutableMap.of() 方法可以缩短编写时间,如果你想创建一个 ImmutableMap 具有单个键值对。

如果您不使用 ImmutableMap.of() 方法,请考虑您必须编写的内容:

 ImmutableMap<String, Object> map = ImmutableMap.builder()
    .put(key, value);
    .build();

原文由 Jesper 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题