有一些实用方法可以创建ImmutableMap
(例如Immutable.of(Key, value)
)及其重载。
但是HashMap
类中的LinkedHashMap
或Maps
不存在此类方法。
有没有更好的方法可以做到这一点,或者Guava假设这样的映射始终是恒定映射,并且ImmutableMap
是最好的选择,并且不需要为HashMap
提供实用程序。
最佳答案
为什么要使用常规的HashMap
或LinkedHashMap
?您可以这样做:
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();