我得到了一个具有以下声明的通用二叉搜索树类:
public class BST<K extends Comparable<K>, V>
我被要求编写一个反转 BST 的方法,使值成为键,键成为值。当我调用以下方法时(在给定的类中定义)
reverseDict.put(originalDict.get(key), key);
我从 Netbeans 收到以下两条错误消息:
线程“主”java.lang.RuntimeException 中的异常:无法编译的源代码 - 错误的符号类型:BST.put
并且:
没有找到适合方法的
put(V,K)
方法BST.put(BST<K,V>.Node,K,V)
不适用(实际参数列表和形式参数列表的长度不同)方法BST.put(K,V)
不适用(实际参数V
不能通过K
方法调用转换转换为)其中V
,K
是类型变量:
V extends Object
在方法中声明<K,V>reverseBST(BST<K,V>)
K extends Comparable<K>
在方法中声明<K,V>reverseBST(BST<K,V>)
从错误消息告诉我的内容来看,由于我的值没有扩展Comparable
,我无法将它们用作键。如果我是对的,我怎样才能在不改变给定课程(可能是演员表)的情况下解决这个问题?