Я работаю над этой программой уже несколько дней, и я реализовал несколько основных методов в моем классе BinarySearchTree, таких как вставка и удаление.Казалось, что вставка работает нормально, но как только я пытаюсь удалить, я продолжаю получать ошибки.Поэтому, поиграв с кодом, я захотел проверить свои методы CompareTo.Я создал два новых узла и попытался сравнить их, и я получаю эту ошибку:
Исключение в потоке "main" java.lang.ClassCastException: TreeNode не может быть приведен к java.lang.Integer в java.lang.Integer.compareTo (неизвестный источник) в TreeNode.compareTo (TreeNode.java:16) в BinarySearchTree.myComparision (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?Я хотел бы создать деревья, которые могут обрабатывать целые числа и строки (по отдельности, конечно)