这是我的班级:
public class MyTreeMap
< K extends CharSequence, V extends CharSequence & Map > {
}
我的主要:
{MyTreeMap< String, String > s = new MyTreeMap < >();}
错误是什么? Netbeans给我这个错误:
type参数String不在类型变量K的范围内 其中K是一个类型变量: K扩展了MyTreeMap类中声明的CharSequence
type argument String不在类型变量V的范围内 其中V是一个类型变量: V扩展了在MyTreeMap类中声明的String,Map
答案 0 :(得分:1)
部分:V extends CharSequence & Map
表示您的第二种类型需要延伸,而String则不需要。你能找到CharSequences的地图吗?
public class MyTreeMap< K extends CharSequence, V extends Map<K, CharSequence> > {}
跟进你的评论,你不能使用泛型接受两个不同类型的不同对象(当你调用get时它将如何知道返回什么)。您可以创建一个名为ValidTreeType
的包装类,它具有Map和String属性并生成这些的Map。