使用构建器定义不可变映射的类型
Define Type of Immutable Map With Builder
我正在尝试制作 Map<BooleanSupplier, List<String>>
作为流程的一部分,我制作供应商,然后尝试使用不可变的地图构建器。
类似于:
//Build up BooleanSuppliers
Map<BooleanSupplier, List<String>> bsList = ImmutableMap.builder()
.put(bs1, Collections.singletonList("bs1string"))
.put(bs2, Arrays.asList("bs4","bs6"))
....
.build();
问题是 intellij 说即使我进行显式转换,类型也不可转换,因为 ImmutableMap 的类型是 <Object, Object>
。有没有一种方法可以显式地将不可变地图构建器强制转换或初始化为 ImmutableMap<BooleanSupplier, List<String>>
类型?
调用时明确指定通用类型 builder()
:
Map<BooleanSupplier, List<String>> bsList =
ImmutableMap.<BooleanSupplier, List<String>>builder()
.put(...)
.build();
我正在尝试制作 Map<BooleanSupplier, List<String>>
作为流程的一部分,我制作供应商,然后尝试使用不可变的地图构建器。
类似于:
//Build up BooleanSuppliers
Map<BooleanSupplier, List<String>> bsList = ImmutableMap.builder()
.put(bs1, Collections.singletonList("bs1string"))
.put(bs2, Arrays.asList("bs4","bs6"))
....
.build();
问题是 intellij 说即使我进行显式转换,类型也不可转换,因为 ImmutableMap 的类型是 <Object, Object>
。有没有一种方法可以显式地将不可变地图构建器强制转换或初始化为 ImmutableMap<BooleanSupplier, List<String>>
类型?
调用时明确指定通用类型 builder()
:
Map<BooleanSupplier, List<String>> bsList =
ImmutableMap.<BooleanSupplier, List<String>>builder()
.put(...)
.build();