我试图将Map<BooleanSupplier, List<String>>作为流程的一部分,我使供应商成为可能,然后尝试使用不可变的 map 构建器。

就像是:

 //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>。有没有一种方法可以显式地将不可变 map 构建器强制转换或初始化为ImmutableMap<BooleanSupplier, List<String>>类型?

最佳答案

在调用builder()时显式指定泛型类型:

Map<BooleanSupplier, List<String>> bsList =
    ImmutableMap.<BooleanSupplier, List<String>>builder()
        .put(...)
        .build();

10-02 09:57
查看更多