带有泛型的java.util.Map实现

Sri*_*jit 1 java generics

我想创建一个java.util.Map的实现,它只接受String作为键和值.

我尝试了几件事

abstract class BaseMap<String,String> implements Map<K,V>
Run Code Online (Sandbox Code Playgroud)

这给出了编译错误,因为我正在实现接口而不满足Key和Value的完整定义

然后我尝试扩展界面来定义类型,它确实让我也这样做

public interface IBaseMap<String, String> extends Map<K, V>
Run Code Online (Sandbox Code Playgroud)

它仍然给出错误"类型参数String隐藏java.lang.String"

请提前帮助,谢谢

anu*_*ava 9

您需要提供具体类型,同时扩展泛型接口,例如:

abstract class StringToStringMap implements Map<String, String> {
   // ...
}
Run Code Online (Sandbox Code Playgroud)

或者如果你想扩展Map<K, v>接口那么:

interface IBaseMap extends Map<String, String> {
   // ...       
}
Run Code Online (Sandbox Code Playgroud)