Java сравнивая универсальные типы

В Java я написал класс Binary Search Tree, который добавляет узлы с помощью рекурсии. Теперь я хочу обобщить это, используя Generics, чтобы я мог узнать о них больше.

public class GBinNode {
    T item;
    GBinNode left;
    GBinNode right;

public GBinNode(T newItem) {
    item = newItem;
    left = null;
    right = null;
    }
public GBinNode(T it, GBinNode le, GBinNode ri) {
    item = it;
    left = le;
    right = ri;
    }
public String toString() {
    return item.toString()+" ";
    }
}

Моя функция для добавления узлов находится в следующем классе

public class GBinTree {
  GBinNode add(T item, GBinNode bn) {
    if (bn==null) {
        return new GBinNode(item, null, null);
    }
    if (item < bn.item) {        // ERROR HERE
        bn.left = add( item, bn.left);
    }
    else {
        bn.right = add( item, bn.right);
    }
    return bn;
}

public void toString(GBinNode root) {
    GBinNode curr = root;
    if (curr == null)
        return;
    else {
        toString(curr.left);
        System.out.println(curr.toString());    // inorder traversal
        toString(curr.right);
    }
}

Основной класс имеет следующий код для запуска. Я'Я использую строки, но тип данных может быть сложным.

GBinTree bt = new GBinTree();
    GBinNode root = null;
    root = bt.add("Calex", root);
    root = bt.add("Ealex", root);
    root = bt.add("Balex", root);
    root = bt.add("Dalex", root);       
    bt.toString(root);

Я начал использовать интерфейс Comparable, но как мне написать функцию CompareTo ()? Я нене знаю, какой тип T будет? Я получил ошибку "Оператор < не определено для типа аргумента (ов) T, T ".

В поисках решения один ответ былСравнение универсальных типов Java:

class Element

Я нене понимаю, куда это должно идти и какотличается от класса, реализующего Comparable. Единственное место, где я знаю тип, находится в главном классе, так должно ли быть здесь сравнениеTo ()? Я смотрел на то, как сделать GBinTree интерфейсом, но запутался, правильно ли это? Любая помощь будет оценена.

Ответы на вопрос(2)

Ваш ответ на вопрос