Обычно вы хотите сравнить ключи в вашем дереве друг с другом, а не с одним деревом с другим, или с ключом.
Таким образом, ваши ключевые объекты должны реализовать Comparable
или лучше Comparable<K>
, где K
- это некоторый супертип ваших ключей.
Обычно это означает, что вы объявите свой класс AVLTree универсальным:
class AVLTree<K extends Comparable<? super K>, V> extends BinaryTree {
...
}
Я не сделалдействительно понимаю отношение к вашему классу BinaryTree, извините.