ArrayCoreMap 的键集 class

Key set for ArrayCoreMap class

我在实现 ArrayCoreMap 时遇到问题 class:我在设置带有值的键时遇到问题。这就是我所拥有的,但编译器显示错误:

CoreMap sentence = new ArrayCoreMap();
sentence.set("Dog", "Thomas");

我阅读了 API 的文档,内容如下:public <VALUE> VALUE set(java.lang.Class<? extends TypesafeMap.Key<VALUE>> key, VALUE value)

所以我的问题是我必须做些什么来修复错误。我不知道如何使用 TypesafeMap.Key<VALUE> 来制作我的钥匙。 API 是这样说的: "The classes that implement Key are the keys themselves - not instances of those classes." 我不知道 API 是什么意思。我该怎么做才能修复此错误?

set 方法的第一个参数需要扩展 TypesafeMap.Key<VALUE> 的类型,而您的第一个参数是 String。查看 here 以查看有效类型列表。例如,密钥可以是 CoreAnnotations.LemmaAnnotation(实现 TypesafeMap.Key<String>)。

这是 set 方法 set(Class<KEY>, VALUE) 的签名,其中

<KEY extends TypesafeMap.Key<CoreMap,VALUEBASE>>

如果您使用下面的代码,它将编译成功:

sentence.set(CoreAnnotations.SectionAnnotation.class, "Thomas");