【发布时间】:2018-08-24 04:33:52
【问题描述】:
在尝试使用 Vavr 的不可变映射 (io.vavr.collection.HashMap) 和 java.util.Map 接口时,我没有设法编译代码 - 至少不是通过使用 @ 中的 .of() 静态方法987654327@.
本质上这是我正在使用的 Maven 依赖项:
<dependency>
<groupId>io.vavr</groupId>
<artifactId>vavr</artifactId>
<version>0.9.2</version>
</dependency>
使用 Java 1.8
这是代码:
import io.vavr.collection.HashMap;
import java.util.Map;
public class EntityKeyMap {
public static final Map<String, String> map =
HashMap.of("key1", "val1", "key2", "val2", "key3", "val3");
private EntityKeyMap() {
}
}
这是我得到的错误:
不兼容的类型。必需的地图,但推断出“的” 到 HashMap:不存在类型变量 K、V 的实例,所以 HashMap 符合 Map
知道如何将io.vavr.collection.HashMap 的实例分配给java.util.Map 吗?这可能吗?
根据io.vavr.collection.HashMap 文档,它实现了java.util.Map 接口:
https://static.javadoc.io/io.vavr/vavr/0.9.2/io/vavr/collection/HashMap.html
网上有一些例子似乎是可行的,比如在blog 上,您可以在其中找到此代码:
Map<String, String> map1
= HashMap.of("key1", "val1", "key2", "val2", "key3", "val3");
【问题讨论】: