有一些实用方法可以创建 ImmutableMap
就像 Immutable.of(Key, value)
及其重载。
但是对于 HashMap
或 LinkedHashMap
在 Maps
类中不存在这样的方法。
有没有更好的方法来做到这一点,或者 Guava 假设这样的地图始终是一个常量地图,并且 ImmutableMap
是最好的选择,不需要为 HashMap
.
原文由 Premraj 发布,翻译遵循 CC BY-SA 4.0 许可协议
有一些实用方法可以创建 ImmutableMap
就像 Immutable.of(Key, value)
及其重载。
但是对于 HashMap
或 LinkedHashMap
在 Maps
类中不存在这样的方法。
有没有更好的方法来做到这一点,或者 Guava 假设这样的地图始终是一个常量地图,并且 ImmutableMap
是最好的选择,不需要为 HashMap
.
原文由 Premraj 发布,翻译遵循 CC BY-SA 4.0 许可协议
试试 Maps.newHashMap(ImmutableMap.of(...))
原文由 user638455 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答1.7k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
4 回答2.3k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答832 阅读✓ 已解决
2 回答1.4k 阅读
为什么你想要那些用于常规
HashMap
或LinkedHashMap
?你可以这样做:ImmutableMap
的问题是创建起来有点麻烦;您首先需要制作一个Builder
,然后将键值对放入构建器中,然后调用build()
以创建您的ImmutableMap
ImmutableMap.of()
方法可以缩短编写时间,如果你想创建一个ImmutableMap
具有单个键值对。如果您不使用
ImmutableMap.of()
方法,请考虑您必须编写的内容: