是否有一种单行方法可以编写相同的代码但在 Java 8 中使用某种类型的可变映射?
Is there a one-line way to write this same code but using some type of mutable map in Java 8?
private Map<String,Object> contactQuestion = ImmutableMap.of("pageForm","contactInfo", "questionList",Arrays.asList(ImmutableMap.of("active",false)));
我在 JUnit 测试中的 class 级别定义了这个变量,但我意识到我需要映射是可变的。我最初使用 ImmutableMap class 编写代码,因为它提供了这种在线构建地图的便捷方式。我发现在我的测试中我实际上需要改变这些地图。我尝试使用 HashMap,但 HashMap 似乎没有任何类似于 ImmutableMap 的功能 of()
。这里有一些聪明的选择吗?
感谢任何建议
不确定 ImmutableMap.of
但因为 JDK 9
private Map<String,Object> contactQuestion = new HashMap<>
(Map.of("pageForm","contactInfo",
"questionList",Arrays.asList(Map.of("active",false))));
对于每个 Map.of
,如果您希望它们全部可变,则需要将其传递给 Map
实现。
private Map<String,Object> contactQuestion = ImmutableMap.of("pageForm","contactInfo", "questionList",Arrays.asList(ImmutableMap.of("active",false)));
我在 JUnit 测试中的 class 级别定义了这个变量,但我意识到我需要映射是可变的。我最初使用 ImmutableMap class 编写代码,因为它提供了这种在线构建地图的便捷方式。我发现在我的测试中我实际上需要改变这些地图。我尝试使用 HashMap,但 HashMap 似乎没有任何类似于 ImmutableMap 的功能 of()
。这里有一些聪明的选择吗?
感谢任何建议
不确定 ImmutableMap.of
但因为 JDK 9
private Map<String,Object> contactQuestion = new HashMap<>
(Map.of("pageForm","contactInfo",
"questionList",Arrays.asList(Map.of("active",false))));
对于每个 Map.of
,如果您希望它们全部可变,则需要将其传递给 Map
实现。