0

这是我的课:

public class MyTreeMap
< K extends CharSequence, V extends CharSequence & Map > {
}

我的主要内容:

{MyTreeMap< String, String > s = new MyTreeMap < >();}

错误是什么?Netbeans 给我这个错误:

类型参数字符串不在类型变量 K 的范围内,其中 K 是类型变量:K 扩展在 MyTreeMap 类中声明的 CharSequence

类型参数 String 不在类型变量 V 的范围内,其中 V 是类型变量:V 扩展 String,Map 在类 MyTreeMap 中声明

4

1 回答 1

1

part:意味着您的第二种类型需要扩展String不需要V extends CharSequence & Map的两者。您是否正在寻找 CharSequences 的地图?

public class MyTreeMap< K extends CharSequence, V extends Map<K, CharSequence> > {}

跟进您的评论,您不能使用泛型来接受具有不同类型的两个不同对象(当您调用 get 时它怎么知道要返回什么)。您可以创建一个名为的包装类,该类ValidTreeType具有 Map 和 String 属性,并制作这些属性的 Map。

于 2013-01-04T00:45:49.747 回答