我已经在这个程序上工作了几天,并且在我的 BinarySearchTree 类中实现了一些主要方法,例如插入和删除。插入似乎工作正常,但是一旦我尝试删除,我就会不断出错。因此,在玩弄了代码之后,我想测试我的 compareTo 方法。我创建了两个新节点并尝试比较它们,但出现此错误:
线程“主”java.lang.ClassCastException 中的异常:TreeNode 无法在 BinarySearchTree.myComparision 的 TreeNode.compareTo(TreeNode.java:16) 的 java.lang.Integer.compareTo(Unknown Source) 处转换为 java.lang.Integer( BinarySearchTree.java:177) 在 main.main(main.java:14)
这是我创建节点的类:
public class TreeNode<T> implements Comparable
{
protected TreeNode<T> left, right;
protected Object element;
public TreeNode(Object obj)
{
element=obj;
left=null;
right=null;
}
public int compareTo(Object node)
{
return ((Comparable) this.element).compareTo(node);
}
}
我做的 compareTo 方法都错了吗?我想创建可以处理整数和字符串的树(当然是单独的)